您好,我有一个关于使用此模式的问题。在制作监听器时,方法的名称应该是模型中触发事件的方法的名称吗?如:
(说明我的意思的小例子) 型号:
public void setName(String name) {...}
public void setAge(int age) {...}
监听器
void nameChanged(TheEventObject event);
void ageChanged(TheEventObject event);
或者应该这样:
void personChanged(The EventObject event);
其中人称前缀是模型类的名称。
回顾一下,接口(interface)中的方法应该针对每个更改模型中某些值的特定方法,还是应该只是说“嘿,模型已更改”?
最佳答案
我认为 future 更容易的是以另一种方式在一些父抽象类中创建,每个都将被传递,你可以创建一些类的实例来管理通知类型的属性更改管理器(观察者)将在属性更改后触发事件。
firePropertyChange("properyName", newValue, oldValue);
要支持这一点,您可以使用 java.beans.PropertyChangeEvent
属性更改观察器的基本接口(interface):
void fireBeforePropertyChange(String propertyName, Object currentValue, Object newValue) throws PropertyChangeException;
void removeBeforePropertyChangeListener(BeforePropertyChangeListener beforePropertyChangeListener);
Enumeration<BeforePropertyChangeListener> getBegorePropertyChangeListeners();
关于java - 关于委托(delegate)-事件-模型模式中的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174630/