0

と の 2 つのクラスがGUIありGame、それぞれ GUI ロジックとゲーム ロジックを処理します。

inのインスタンス、またはGUIinのインスタンスを作成する必要があります。GameGameGUI

違いがあるとすれば、それは Java です。

もう少し説明:

Java でゲーム オブ ライフのクローンを作成していますが、GUI の更新で問題が発生しています。これらの問題の解決を続ける前に、GUI を使用する適切な方法を知りたいと思います。

4

2 に答える 2

4

ない。

Model-View-Controllerイディオムに従ってアプリケーションを構築することをお勧めします。

ゲームの状態 (モデル) とその視覚的表現 (ビュー) は相互に依存してはなりません。どちらもコントローラー (または複数のコントローラー) によって作成および操作する必要があります。

このアプリケーション設計には、他のコンポーネントに手を加えることなく、一方のコンポーネントを簡単に変更 (または完全に置き換えることさえ) できるという利点があります。

于 2012-11-23T13:41:50.573 に答える
3

一般に、アプリケーションは階層化されていると見なすことができます。UI 層は、アプリケーション層の「上」にあると見なすことができます。依存関係に関しては、これは がボットUIに依存できるように解釈され、Gameその逆ではありません。

「他の部分も変更せずに、どの部分を変更できればよいか」と考えることができます。UI私の推測では、 を変更せずに を変更できるようにしたいと考えていますGame。逆の場合はかなり意味がありません。したがって、結果として、UIは に依存し、Gameそれへの参照を含む必要があります。

EDIT:MVCアーキテクチャに関して。MVC を使用しても、ビューがコントローラーを介してのみモデルから値を取得できるというわけではありません。コントローラーを使用して値を変更する必要がありますが、ビューにはモデルを表示するための参照がまだ残っていることがよくあります。通常、コントローラにはモデル表示用の付加価値はありません。

于 2012-11-23T13:41:02.620 に答える