观察者模式

概念:

对象之间多对1的一种设计方案,被依赖的对象是subject,依赖的对象是observer,subject会通知observer变化。

以集合的方式管理用户,包括注册、移除和通知。

subject接口:

registerObserver(o:observer) :add

removeObserver   : remove

notifyObserver  : 遍历并update

 

observer接口:

update()    

 

核心类:

实现subject、管理observer,用ArrayList<Observer>管理观察者集合。

 

优点

耦合的双方都依赖于抽象,所以各自的变化都不会影响到彼此。

当观察者需要扩展时,只需要实现observer接口,核心类不需要任何变化。

 

应用场景

订阅功能

关联行为

消息队列

 

posted @ 2019-08-29 16:35  hhhl  阅读(147)  评论(0)    收藏  举报