アルゴリズムとかデザパタを覚えたり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を理解して
パターン間で共通する設計原則を理解するといいと思う
結城本はそういう部分の説明がないからあまりいい本ではないよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- コメ「余っている」年明けに下落も? 大量の在庫が倉庫を圧迫、赤字の恐れ…業者「値下げするしか…」 [Hitzeschleier★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論逆ギレ、ごめんなさいと言えない国情 [七波羅探題★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 博多駅近くの路上で男性刺される 男性を現行犯逮捕 [蚤の市★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 参政・神谷代表「なぜ日本では多くの中国人の方がキャッシュで不動産を買えるのか」「現金はどこから来ているのか」 片山大臣の回答は [少考さん★]
- 【速報】福岡でまた刺される [663382246]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【速報】Switch 2 値上げ [201193242]
- HKT48オタさん、スタッフに出待ちを注意されて逆ギレしナイフで刺す [263288856]
- 【悲報】赤坂の超高級プライベートサウナ(120分19,000円)で火事🔥男女カップル死亡 [923545898]
- 月曜日のんなぁ…お疲れ様なのらね…✋🍬ハウス🏡
