观察者模式:既关注的主题发生变化通知观察者
实现方式:
两个接口:
1、主题接口
包含添加、删除观察者以及通知观察者更新数据的方法
2、观察者接口
规定具体观察者用来更新数据的方法
接口实现:
1、主题接口实现 :
实现主题接口的一个实例,通常需要使用一个集合ArrayList存放观察者引用,以便数据变化时通知具体观察者。
2、观察者接口实现:
实现观察者接口的一个实例,包含主题接口变量,以便让具体观察者本身添加到具体主题集合中,成为它的观察者。
特点:
①在观察者模式中,会改变的是主题的状态,以及观察者的数目和类型;
②主题与观察者都使用接口,观察者利用主题接口向主题注册,而主题利用观察者接口通知观察者,具有松耦合特点;
③该模式利用组合将许多观察者组合进主题中,对象之间的关系不是通过继承产生的,而是在运行时利用组合的方式而产生的。