これがやや漠然としたトピック/質問であることを事前にお詫び申し上げます。
一般的なボード ゲームのアクティビティ クラスをコーディングしているとします。このクラスには Game.java という名前を付けることができ (一般的には十分です)、Activity を拡張し、いくつかのボタンとテキスト ビュー、および (さらに重要なことに) SurfaceView を拡張する Board.java と呼ばれるカスタム ビュー クラス (または静的なネストされたクラス) を維持します。
Android アプリケーションの性質上、すべての描画は基本的に SurfaceView クラス内で行う必要があります。問題は、このボード ゲームのパーツ (ヒーローやモンスターなど) が相対リストに格納されている場合、それらのリストをどこに格納することをベスト プラクティスで指示するかということです。つまり、これらのリストは、技術的には進行中のゲームのより包括的な全体像であるため、Game クラスによって維持されるべきであると考えられます。ただし、静的なネストされたクラス (または別のトップレベル クラス) の Board は、この場合、これらのリストにアクセスできないため、描画の目的では、両方のクラスで同時に維持されない限り、各ピースの状態が何であるかはわかりません。 、これは非常に面倒です。Board でこのリストを管理することも、ほぼ同じくらい面倒です。
これをきれいに実装する方法について、全体的なコンセンサスや意見はありますか? 私自身の個人的な考えは、何よりも記憶と正気のために、Board で維持することに傾いていますが、明らかな不足がある場合、それは非常に役立ちます。