Observerパターンに関連する次の問題の設計パターン/解決策を探しています。すでに調査しました。
私のコードにはMyModel
クラスがあります。多くのプロパティがあります。
public class MyModel {
private List<Flower> flowers = new ArrayList<Flower>();
private List<Toys> toys = new ArrayList<Toys>();
private List<Coffee> coffees = new ArrayList<Coffee>();
private List<IBusinessEntityListener> listener =
new ArrayList<IBusinessEntityListener>();
public void addChangeListener(IBusinessEntityListener newListener) {
listener.add(newListener);
}
}
したがって、実装するクラスはクラスにIBusinessEntityListener
登録できますMyModel
。
次に、の一部のプロパティのみに関心のある10以上のリスナーがいますMyModel
。それらはすべて実装しIBusinessEntityListener
ます。Flowers
しかし、一部のリスナーが のみに関心がある、一部のリスナーが のみに関心があるToys
、などを指定するにはどうすればよいでしょうか (たとえば、Java Generics を使用して?) 。
では、特定のプロパティのリッスンをサポートするようなクラス構造を設計するにはどうすればよいでしょうか?
とにかく、すべてのリスナーは、操作add、update、およびdeleteの 3 つのメソッドを実装します。