您好我对使用此模式有疑问。在制作监听器时,方法的名称应该是模型中方法的名称触发事件的名称吗?如:
(显示我的意思的琐碎例子) 型号:
public void setName(String name) {...}
public void setAge(int age) {...}
听众
void nameChanged(TheEventObject event);
void ageChanged(TheEventObject event);
或者应该是:
void personChanged(The EventObject event);
其中person-prefix是Model类的名称。
如果接口中的方法是针对每个在模型中改变某些值的特定方法,或者它应该只是一个“嘿,模型已更改”的话,那么回顾一下?
答案 0 :(得分:1)
我认为未来更容易在另一种方式中创建每个将被传递的父抽象类,您可以创建一个类的实例来管理属性更改管理器(观察者)的通知类型财产变更后会引发事件。
firePropertyChange("properyName", newValue, oldValue);
为了支持这一点,您可以使用java.beans.PropertyChangeEvent
属性更改观察者的基础接口:
void fireBeforePropertyChange(String propertyName, Object currentValue, Object newValue) throws PropertyChangeException;
void removeBeforePropertyChangeListener(BeforePropertyChangeListener beforePropertyChangeListener);
Enumeration<BeforePropertyChangeListener> getBegorePropertyChangeListeners();