设计模式-观察者模式

观察者模式:通常用来表示一对多的监听关系,类似小时候一打开电视,爸妈就来叫你写作业。

这其中你打开电视就说明你的状态变了,然后你把电视的声音通知了所有观察者(关注你看电视的人),然后调用了他们共同的方法(叫你写作业),从原理来说,观察者不需要一直盯着你,当被观察者一旦发生变化就会通知所有观察者并调用对应的方法,观察者就知道了。也就是说观察者在事件发生的时候处于一种被动地位,被观察者处于主动地位。Android中的View.setxxxListener(method)就是一种观察者模式,当点击事件发生的时候就会调用观察者的指定方法,即method(匿名观察者?)

在一般的观察者模式讲解中通常是使用list将观察者对应存起来,当观察条件触发了,就循环调用观察者的指定方法。

暂时就这些了,没有什么用例图,没有什么代码,都是我一个字一个字憋出来的。实际上就是两个对象,我变了,我调用你的约定方法,然后分别将两个对象抽象化(或者说接口化更准确一些,因为共有的是行为,所以用接口,不知道这样表述是否正确)。

学习观察者模式是为了学习RxJava和阅读源码一类的,观察者模式用得还是挺多的。

如果有哪里不对的,请批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值