简介
观察者模式:定义对象间的一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖于他的对象都会得到通知并被自动更新。
实现起来的关键点在于被观察者。在被观察者中创立集合,其中持有所有观察者的对象。当被观察者变更时,将变更信息通过每个观察者的更新方法传递到每个观察者中。
简单实现
4,具体观察者
public class SubscriptionSubject extends Subject{
private List<Observer> userList = new ArrayList<Oberver>();
@Override
public void attach(Observer observer){
userList.add(observer);
}
@Override
public void detach(Observer observer){
userList.remove(observer);
}
@Override
public void notify(String message){
for(Oberver observer : userList){
observer.update(message);
}
}
}
评价
缺点:
通知操作一般是顺序执行的,如果某个消息卡顿,占用都会造成整体卡顿。建议具体通知采用异步方式。
网友评论