5

クラスのインスタンスがたくさんありMyClass、それらはすべて、別のクラスから生成されたイベントに反応する必要がありますMyEventClass。どうすればいいですか?

私が最初に考えたのは、 でリスナーを定義してMyEventClassで実装することMyClassでしたが、これには のすべてのインスタンスでMyClassリスナーを設定する必要があり、さらに でリスナーを配列として定義する必要がありますMyEventClass
多くのコード/作業。

私が考えた別のオプションは、 でブロードキャストを使用しMyEventClass、レシーバーを で使用するMyClassことです。onStop()

MyClass3 番目のオプションは、インスタンスごとではなく、クラスのリスナー実装を定義することです。これは完全に適合しますが、それが可能かどうか、またどのようにコーディングすればよいかわかりません。

しかし、私が思いついた 4 番目のオプションは、リスナーを の親クラスに実装し、MyClassこのリスナーのみを に設定してMyEventClassから、イベント発生時にすべてのインスタンスをループし、MyClassそれらのリスナーを手動で呼び出すことです。これにより、各インスタンスを に登録する手間が省けますMyEventClass

4

2 に答える 2

3

私はObserver design patternあなたの最良の選択になると思います..

オブザーバー パターンは、サブジェクトと呼ばれるオブジェクトがオブザーバーと呼ばれるその従属オブジェクトのリストを維持し、通常はメソッドの 1 つを呼び出すことによって、状態の変化を自動的に通知するソフトウェア設計パターンです。主に分散イベント処理システムの実装に使用されます

何千もの他のリンクで、これらのlink1link2を確認できます

于 2013-05-10T18:50:37.143 に答える