アルゴリズムとかデザパタを覚えたりJavaScriptのライブラリを
練習しまくると
・配列や連想配列ほかデータ構造や制御構文、オブジェクト、関数、メソッド、
をどうやって「どうやって組み合わせるか」がなんとなくコツが掴めてくる。
(でもこれらの公式みたいなのは出来上がってなくて、自分と違う組み合わせ方
をしている人のコードを見てしまうと混乱する。)
・つまり、「呼び出し側で変数、関数、配列、制御構文、オブジェクト、メソッド」をどうやって配置するのかって、「絶対の公式」が規定されていないから、組み合わせは 人それぞれなのかな?
→一度変数に保持してからその変数を使う人もいるし、
if文の条件分岐や関数呼び出しの () の中で更に別の式をごっそり詰め込んで
その内部の() の中に更に別の式を詰め込んでしまう人もいる。
配列の[] 内に結構長い式を詰め込む人もいる。
オブジェクトのクラス定義だと、メソッドやコンストラクタに渡す「引数名」
とクラスの「メンバ変数名」が同じで、
メソッド内の内のローカル引数名とメンバ変数がどっちなのか混乱することが
よくある。
・デザインパターンを覚えたことでこれらの組み合わせのコツをなんとなく掴んだが、今度は「複数のデザインパターンを組みわせて」もっと大きなものを作るときの
「組み合わせ方」が上手くつかめない。
・そこで、これらの「組み合わせ方」について議論するスレを立てました。
探検
実行側でのコード構造の組み合わせ方 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/09/03(日) 02:53:52.62ID:V/LSJTV52デフォルトの名無しさん
2017/09/03(日) 03:15:35.12ID:ULbykCIX >>1
もうちょっと議論のテーマをまとめて欲しい
>「複数のデザインパターンを組みわせて」
>もっと大きなものを作るときの
>「組み合わせ方」
これがテーマかな?
あとサンプルコードがないと
具体的にどんなケースなのか分かりにくい
もうちょっと議論のテーマをまとめて欲しい
>「複数のデザインパターンを組みわせて」
>もっと大きなものを作るときの
>「組み合わせ方」
これがテーマかな?
あとサンプルコードがないと
具体的にどんなケースなのか分かりにくい
2017/09/03(日) 03:29:04.15ID:PV3GMLPY
>JavaScript
混乱してるようだけどほぼこれが原因
混乱してるようだけどほぼこれが原因
4デフォルトの名無しさん
2017/09/03(日) 03:54:35.42ID:V/LSJTV5 >>2-3
いや俺一人の悩みの相談じゃないよ。
例えば俺の場合だと、結城浩 著者のデザインパターン入門で
23種のデザインパターンを勉強した。
すると演習問題の最後で、GoFの「Interpreter」と「Facade」「FactoryMethod」
を組み合わせたちょっと複雑なプログラムを試しに書いて動かした。
(動いたのでこれ自体に困っているわけではない。)
サンプルコードはクラスのファイルが17クラス分もあって2chに書くと大変だよ。
だけど、これを応用する時単体のパターンではなく「組み合わせ」るという発想はどうすれば
いいだろうと思って、スレを立てた。
パターンだけじゃなく、基本的な関数やメソッドやif文 for文なんかも、
「単発で書く」のは構文を覚えて慣れれば誰でもできるけど、
「組み合わせて目的を達成する」のって結構自分で考えるのが難しくて、
何らかの「お決まりのパターンを真似る」しか無いけど、参考になるものが
いつも簡単に見つかるわけじゃないし、真似ればうまくいくと思ってたのに
実際全然的が外れることもある。
これは別にJavaだろうがJavaScriptだろうが C, Python, シェルスクリプト
関係なくどの言語でも当てはまることだから、それについて議論するスレを
立てたいと思って建てた。
いや俺一人の悩みの相談じゃないよ。
例えば俺の場合だと、結城浩 著者のデザインパターン入門で
23種のデザインパターンを勉強した。
すると演習問題の最後で、GoFの「Interpreter」と「Facade」「FactoryMethod」
を組み合わせたちょっと複雑なプログラムを試しに書いて動かした。
(動いたのでこれ自体に困っているわけではない。)
サンプルコードはクラスのファイルが17クラス分もあって2chに書くと大変だよ。
だけど、これを応用する時単体のパターンではなく「組み合わせ」るという発想はどうすれば
いいだろうと思って、スレを立てた。
パターンだけじゃなく、基本的な関数やメソッドやif文 for文なんかも、
「単発で書く」のは構文を覚えて慣れれば誰でもできるけど、
「組み合わせて目的を達成する」のって結構自分で考えるのが難しくて、
何らかの「お決まりのパターンを真似る」しか無いけど、参考になるものが
いつも簡単に見つかるわけじゃないし、真似ればうまくいくと思ってたのに
実際全然的が外れることもある。
これは別にJavaだろうがJavaScriptだろうが C, Python, シェルスクリプト
関係なくどの言語でも当てはまることだから、それについて議論するスレを
立てたいと思って建てた。
2017/09/03(日) 04:07:12.78ID:LluVimQv
「絶対の公式」みたいな考えをまず捨てる必要がある
アルゴリズムやデザパタを勉強したのならそんなもんあり得ないって理解できるはず
その上でコードをたくさん読んで自分の審美眼を磨いていくといい
アルゴリズムやデザパタを勉強したのならそんなもんあり得ないって理解できるはず
その上でコードをたくさん読んで自分の審美眼を磨いていくといい
6デフォルトの名無しさん
2017/09/03(日) 04:07:30.66ID:V/LSJTV5 わかったこうしよう。
いくらプログラミングの基礎の勉強をしても、
「アメブロで自分のアカウントでログインして、他の人のブログのいいね!を
自動でクリックするツールをGUIで他人も使えるようにして、配信して、お金を
入金させる仕組みを作ろう」ってなったときに、
「このライブラリやモジュールを importして、 このクラスやインタフェースを
extends, implementsして、このクラスのインスタンスを委譲で保持して、
こういう配列構造を作って、こういうコンストラクタにして、こういう
メソッドの呼び出し方をして、こういうときは条件分岐して、
こういうときはfor文でループ」
みたいなのがスッと思いつくまでには至っていない。
だから「組み合わせて目標を達成するやり方が分かっていない」という状態。
いくらプログラミングの基礎の勉強をしても、
「アメブロで自分のアカウントでログインして、他の人のブログのいいね!を
自動でクリックするツールをGUIで他人も使えるようにして、配信して、お金を
入金させる仕組みを作ろう」ってなったときに、
「このライブラリやモジュールを importして、 このクラスやインタフェースを
extends, implementsして、このクラスのインスタンスを委譲で保持して、
こういう配列構造を作って、こういうコンストラクタにして、こういう
メソッドの呼び出し方をして、こういうときは条件分岐して、
こういうときはfor文でループ」
みたいなのがスッと思いつくまでには至っていない。
だから「組み合わせて目標を達成するやり方が分かっていない」という状態。
2017/09/03(日) 04:15:16.16ID:LluVimQv
8デフォルトの名無しさん
2017/09/03(日) 04:25:07.90ID:V/LSJTV52017/09/03(日) 04:57:03.17ID:LluVimQv
>>8
それはもう少し抽象度の高い原則だね
デザインパターンの背後にある原則はもう少し実装よりのやつ
「変化する部分をカプセル化する」とか「継承よりコンポジション」みたいな
各パターンについてなんでこのパターンがあるといいのかっていうWhyを理解して
パターン間で共通する設計原則を理解するといいと思う
結城本はそういう部分の説明がないからあまりいい本ではないよ
それはもう少し抽象度の高い原則だね
デザインパターンの背後にある原則はもう少し実装よりのやつ
「変化する部分をカプセル化する」とか「継承よりコンポジション」みたいな
各パターンについてなんでこのパターンがあるといいのかっていうWhyを理解して
パターン間で共通する設計原則を理解するといいと思う
結城本はそういう部分の説明がないからあまりいい本ではないよ
10デフォルトの名無しさん
2017/09/03(日) 05:55:16.95ID:V/LSJTV5 >>9
じゃあどんな本がおすすめですか?
じゃあどんな本がおすすめですか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★3 [♪♪♪★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★6 [nita★]
- 男女2人死亡の赤坂・個室サウナ火災、非常ボタン押された形跡…従業員は煙感知の報知機で気づく [蚤の市★]
- 高市首相「従来の立場超えたと受け止められ反省」 存立危機発言巡り ★3 [蚤の市★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- 【画像】ワイのチンコ、デカすぎて349歳の姪を泣かせてしまう…😭
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳★2 [931948549]
- 【画像】パンダみたいなアスカが発見されるWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 🦥🦧🐾おまっとさんです🐾🦧🦥🦥🏡
- 渡邊渚「写真集はエロ売りではなく、もっと違うメッセージがある」 ヤフコメ民「私は障害者で被イジメ経験者ですが、理解できません」 [455031798]
- 僕「ケンモメンってシャンプー何使ってんの?(どうせオクトだろ)」(ヽ´ん`)「オクト」(ヽ´ん`)「オクト」(ヽ´ん`)「オクト」 [769931615]
