と の 2 つのクラスがGUI
ありGame
、それぞれ GUI ロジックとゲーム ロジックを処理します。
inのインスタンス、またはGUI
inのインスタンスを作成する必要があります。Game
Game
GUI
違いがあるとすれば、それは Java です。
もう少し説明:
Java でゲーム オブ ライフのクローンを作成していますが、GUI の更新で問題が発生しています。これらの問題の解決を続ける前に、GUI を使用する適切な方法を知りたいと思います。
と の 2 つのクラスがGUI
ありGame
、それぞれ GUI ロジックとゲーム ロジックを処理します。
inのインスタンス、またはGUI
inのインスタンスを作成する必要があります。Game
Game
GUI
違いがあるとすれば、それは Java です。
もう少し説明:
Java でゲーム オブ ライフのクローンを作成していますが、GUI の更新で問題が発生しています。これらの問題の解決を続ける前に、GUI を使用する適切な方法を知りたいと思います。
ない。
Model-View-Controllerイディオムに従ってアプリケーションを構築することをお勧めします。
ゲームの状態 (モデル) とその視覚的表現 (ビュー) は相互に依存してはなりません。どちらもコントローラー (または複数のコントローラー) によって作成および操作する必要があります。
このアプリケーション設計には、他のコンポーネントに手を加えることなく、一方のコンポーネントを簡単に変更 (または完全に置き換えることさえ) できるという利点があります。
一般に、アプリケーションは階層化されていると見なすことができます。UI 層は、アプリケーション層の「上」にあると見なすことができます。依存関係に関しては、これは がボットUI
に依存できるように解釈され、Game
その逆ではありません。
「他の部分も変更せずに、どの部分を変更できればよいか」と考えることができます。UI
私の推測では、 を変更せずに を変更できるようにしたいと考えていますGame
。逆の場合はかなり意味がありません。したがって、結果として、UI
は に依存し、Game
それへの参照を含む必要があります。
EDIT:MVCアーキテクチャに関して。MVC を使用しても、ビューがコントローラーを介してのみモデルから値を取得できるというわけではありません。コントローラーを使用して値を変更する必要がありますが、ビューにはモデルを表示するための参照がまだ残っていることがよくあります。通常、コントローラにはモデル表示用の付加価値はありません。