设计模式
一、简述
观察者模式又叫发布订阅模式,即通过订阅的方式告诉被观察者,当你状态改变时通知我(观察者)。
二、实现
被观察者的父类:Subject.java
public class Subject{
private
List<Observer> observers = new ArrayList<Observer>();
public void attach(Observer
observer){
observers.add(observer);
}
public void NotifyAllObserver(){
for(Observer observer
: observers ){
observer.update();
}
}
}
观察者的父类:Observer
public abstract class Observer{
protected Subject subject;
public abstract void update();
}
观察者类:
public ObserverImpl extends Observer{
public ObserverImpl (Subject subject){
this.subject = subject ;
this.subject.attach();
}
public void update (){
.......
}
}
三、优点
观察者和被观察者是抽象耦合的。当发生改变时向所有的观察者发送通知。
四、缺点
被观察者不知观察者的具体操作,当观察者多时将会耗时久
本文介绍了观察者模式(也称为发布订阅模式),详细说明了其基本原理,并提供了具体的Java实现示例,包括Subject和Observer类的设计。
2273

被折叠的 条评论
为什么被折叠?



