私はここで、デザインパターンをよりよく理解することで解決できると思われる問題に対する答えを調査し、探しています。問題は、私が独学のコーダーであり、人々は多くの秘教的な用語に精通していると想定する傾向があることだと思います。私は、いくつかのフレーズが何を意味するのかを判断しようとして、ウィキペディアのスパイラルに行き着きました。そうは言っても、コーディング/構造の問題についてです。
実際、始める直前に、私の質問でコードが構造化されている方法で、未知の推定をしている可能性があることを指摘する必要があります。これが事実である場合、人々は私が提案しているものの代替案を提案することができますか?間違っていると言われるのではなく、コードを改善する方法を学んでいただければ幸いです。わかった...
4つの壁、天井、床がある部屋クラスがあるとします。これらは、部屋の「内部」でインスタンス化されます。部屋には、4つのTableLegを持つテーブルもあり、これもテーブル内、ルーム内でインスタンス化されます。(これは作曲だと思いますが、間違っている場合は訂正してください!)
最後に、問題:誰かが何らかの形でテーブルを押した場合、TableLegは、適切なサウンドをトリガーするために、立っているフロアのタイプを確認する必要があります。これは、現在私の解決策になります:
テーブルはイベントをディスパッチします。Roomは、その「テーブルプッシュ」イベントをリッスンし、フロアをクイズしてそのタイプを判別し、次にそのタイプをテーブル上のメソッドに渡します。次に、テーブルはそれをTableLegsに渡します。これは、私にはかなりエレガントではないようです。したがって、デザインパターンの知識が役立つのではないかと疑っています。私が説明した構造について、私が評価していないという根本的な問題がありますか?もしそうなら、代替手段は何ですか?
最後に、GangofFourの本について聞いたことがあります。それが私の最初の寄港地である場合、それはアクセシブルなスタイルで書かれていますか、それともそれを把握するためにコンピュータサイエンスを勉強しなければなりませんか?長い、デザインパターン初心者の質問でごめんなさい。