观察者模式 Observer
在对象之间存在一对多关系时,使用观察者模式。比如一个对象被修改时,会通知其他对象,观察者模式属于行为型模式
意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被更新
何时使用:一个对象的状态发生改变,所有的依赖对象都得到广播通知
关键代码:在抽象类里又一个 arrayList 存放观察者
优点:
1.观察者与被观察者是抽象耦合的
2.建立一套出发机制
缺点:
1.如果一个被观察者有很多直接或间接的观察者,会消耗很多时间
2.如果在观察者与观察目标之间有循环依赖的化,观察目标会触发他们之间进行循环调用,可能导致系统崩溃