16、 观察者设计模式

观察者模式 Observer 

在对象之间存在一对多关系时,使用观察者模式。比如一个对象被修改时,会通知其他对象,观察者模式属于行为型模式

意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被更新

何时使用:一个对象的状态发生改变,所有的依赖对象都得到广播通知

关键代码:在抽象类里又一个 arrayList 存放观察者

优点:

1.观察者与被观察者是抽象耦合的

2.建立一套出发机制

缺点:

1.如果一个被观察者有很多直接或间接的观察者,会消耗很多时间

2.如果在观察者与观察目标之间有循环依赖的化,观察目标会触发他们之间进行循环调用,可能导致系统崩溃

原文地址:https://www.cnblogs.com/bytecodebuffer/p/10516789.html