观察者模式

2017-10-23  本文已影响0人  javaBoy_hw

简介

观察者模式:定义对象间的一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖于他的对象都会得到通知并被自动更新。

实现起来的关键点在于被观察者。在被观察者中创立集合,其中持有所有观察者的对象。当被观察者变更时,将变更信息通过每个观察者的更新方法传递到每个观察者中。

简单实现

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);

}

}

}

评价

缺点:

通知操作一般是顺序执行的,如果某个消息卡顿,占用都会造成整体卡顿。建议具体通知采用异步方式。

上一篇下一篇

猜你喜欢

热点阅读