设计模式一一一策略模式
jdk中的观察者模式:
Observer 观察者
说明:观察(监听)着感兴趣的对象,通过将自身注册到感兴趣的对象中,并且由感兴趣的对象发通知来实现观察(监听)的效果。收到通知后,根据通知的内容做相应的处理。
Observable 被观察者
说明:维护者对自身感兴趣的观察者,并且可以将自身的情况通知给观察者。
/**
* 被观察者Observable
*/
public class Observable {
/**
* 维护着注册到自身的观察者列表
*/
private Vector<Observer> obs; // 观察者注册表
/**
* 当自身(即被观察的对象)发送变化时,依次通知注册表中的观察者
*/
public void notifyObservers() {
// 说明:下面是简化后的代码,可以使逻辑看起来更清晰一些。
Object[] arrLocal = obs.toArray();
for (int i = arrLocal.length-1; i>=0; i--)
((Observer)arrLocal[i]).update(this, arg);
}
}
/**
* 观察者Observer
*/
public interface Observer {
/**
* This method is called whenever the observed object is changed.
* An application calls an Observable object"s notifyObservers method to have all the object"s observers notified of the change.
*
* @param o the observable object.
* @param arg an argument passed to the <code>notifyObservers</code> method.
*/
void update(Observable o, Object arg);
}
spring中的观察者模式:
spring中的事件机制就是基于观察者模式进行设计的。
以上是 设计模式一一一策略模式 的全部内容, 来源链接: utcz.com/z/514191.html