3

これをLuaとCodeaに投稿しています。これは私が使用しているものだからですが、かなり一般的な質問だと思います。

グラフィックを表示するための全体的なデザインパターンを検討していますが、問題があるかどうかを知りたいです。

私が検討しているデザインパターンは次のとおりです。

クラス内のsetup()メソッドは、いくつかのグラフィック要素を作成するMainようにクラスに指示Graphicsします。たとえば、2つの正方形と1つの楕円です。

クラスはGraphics、各要素に必要なパラメーターを生成し、それらをテーブルとして格納して、テーブルをDataクラスに送信します。

アプリが描画を開始すると、のdraw()関数は、作成されたオブジェクトを描画するようにクラスにMain指示します。Graphics

次に、クラスはクラスに、の間に送信したすべてのテーブルを返すGraphicsように要求し、それらを使用して要素を描画します。Datasetup()

MainコマンドGraphicsとクエリを実行するコマンドData。これは既知のパターンであると確信しています。一般的にそれに関連する問題はありますか?

4

1 に答える 1

3

あなたがやっていること - これは基本的にモデル - ビュー - コントローラーであり、業界やアプリケーション開発で一般的に使用されています。プログラミング パラダイムに欠陥がないわけではありませんが、比較的うまく機能します。そうは言っても、MVC は大規模なプロジェクトに取り組む大規模なチーム向けに設計されています。複数の人が 1 つの Codea プロジェクトで一緒に作業することは物理的に不可能です。そのため、1 人で作業していることを考えると、プロジェクトは小規模から中規模になると思います。このようなプロジェクトで一人で作業する場合、実用的で直感的なアプローチが断然最良の選択肢です。

このような目的で MVC を使用することは、単一の世帯の進行を管理するためだけに、議会/議会、国家元首、および裁判所制度を備えた完全な民主主義を構築することに少し似ています。民主主義は良いものであり、選挙とチェック・アンド・バランスの堅牢なシステムは、システムを円滑に運営し続ける唯一の方法です。しかし、家庭では、秩序と幸福を維持する必要がありますが、アプローチはまったく異なります.

あなたにできる最善のことは、頭の中で思考がどのように構成されているかを考えることです。敵の群れを単一のエンティティと考えますか、それとも自律的なオブジェクトの集まりと考えますか? 宇宙船は、プロパティの完全な数学的コレクション、またはユーザーが画面上で操作する画像であると考えていますか? 一時停止画面が表示されたとき、ゲーム画面は表示されたままですか、それとも単に非表示になっているだけですか、それとも存在しなくなって置き換えられたのでしょうか?

さらに、アイデアをどのように構築しますか?大まかなカテゴリーから始めて、より細かい部分まで掘り下げていきますか、それとも頭の中に鮮明なイメージを持っていて、そのために世界を構築しようとしていますか? あなたのプログラムの概念は、特定の時点で現実に浸る巨大なフローチャートで構成されていますか、それともメッセージを相互に送信するノードの集まりで構成されていますか? これらはすべて、あなただけが答えることができる質問です。自然に MVC に引き寄せられた場合は、MVC を使い続けることをお勧めします。本でそれについて読んで、なぜそれが役に立つのかよくわからなくても、プロジェクトを簡単にするために振りかけることができるある種の魔法の妖精の粉に違いないと決心したなら、私は強く勧めます再考してください。

ハッピーコーディング!

ところで、この質問は、スタック オーバーフローよりもStack-Exchange プログラマーに適していると思います。微妙な違いですが、Stack Overflow はバグ修正やアルゴリズムなどの事実に関するもので、Programmers はソフトウェアの書き方に関する意見に関するものです。

于 2013-01-05T21:08:06.547 に答える