观察者模式

观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

这里写图片描述
主题和观察者定义了一对多的关系。只要主题状态一有改变,观察者就会被通知。
下面是观察者模式的类图:
这里写图片描述
这张图展现了观察者模式的具体实现。ConcreteSubject实现Subject,使用集合(Observer的集合)存储注册的ConcreteObserver,当状态改变时,通知每一个已注册的ConcreteSubject,即调用notifyObserver。ConcreteObserver实现Observer,通过registerObserver注册就可。若不需要ConcreteSubject的数据,可以实时调用removeObserver,从集合中移除,由此可知其应该有一个指向ConcreteSubject的变量。
Java有内置的观察模式,通过接口java.util.Observable和类java.util.Observer实现。
观察者模式应用及其广泛。在GUI的API中,大量使用观察者模式,如侦听事件就是使用观察者模式。著名的设计框架MVC(Model,View,Controller)在Model与View之间使用观察者模式…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值