私がやりたいことに対して適切なパターンを見つけるのに苦労します。ユーザーのメンバーにアクセスする戦略パターン
私は2つのゲームモードを持つブロックゲームを持っています。 1つのモードでは、削除されたブロックはすべて、画面上部からドロップされた新しいブロックに置き換えられます。他のモードでは、削除されたブロックは、下から上に向かって上がっているブロックの完全な新しい行に置き換えられ、フィールド全体が上に移動します。だから私はこれを実装するために戦略パターンを使用することが最善であると思った。
この戦略では、競技場の既存のブロックのすべての位置へのアクセスを変更する必要がありますが、その情報は戦略のユーザークラス(Gameクラス)内にあることは明らかです。依存関係。
フィールド全体を参照として渡すことができましたが、ブロック生成コードがGameクラス内にあるという追加の問題があります。だから、念頭に置く唯一のことは、これらすべてのメソッドを関数参照として渡すことですが、私には過剰なように思えます。
これを解決する方法はありますか?たぶん私は戦略パターンを使いたいと思って間違った道を歩いています。ヘルプは非常に高く評価されます。
ユーザークラスのメンバーに依存する同じメソッドにアクセスする必要があるクラス内の2つの戦略パターンオブジェクトの使用に関するヒント。
それは私が最終的に、一種のアウトオブボックスの答えを想定するにはあまりにも複雑だったと思い助け
デカップリングは常に始めるのが良いポイントです。インターフェース/リスナーはどうですか?私はボンバーマンのリメイクでいくつかの疑わしい問題に直面しています。できるだけ抽象的にプログラムを試してください。それは私に多くの時間を与えました。 –
まず、Javaで「関数参照」を渡すことはできません。これを回避するには、ある種の関数オブジェクトを作成する必要があります。あなたが使用できる別のパターンはテンプレートです。いずれにしても、他のオブジェクトへの参照を使用するために参照を渡すことが困難であるとは限りません。 –