我正在寻找与观察者模式相关的以下问题的设计模式/解决方案,我已经研究过。
在我的代码中,我有一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
。但是我怎样才能指定(例如使用 Java 泛型?)一些听众只感兴趣Flowers
,一些只感兴趣Toys
,等等?
那么如何设计这种支持监听某些属性的类结构呢?
无论如何,所有侦听器都会为操作添加、更新和删除实现 3 种方法。