观察者模式,作为一种设计模式,就是一种解决问题的方案,也可以讲是一个模板、方法,目的就是以通知代替轮询:当被观察者状态发生改变时,会触发观察者发生改变。
1、就像button按钮监听。当button按钮对象绑定了监听之后,button只需等待被点击(被观察者状态发送变化)之后实现onclick()方法(通知观察者),不用一直去判断button有没有被点击(new onClickListener()就是观察者)。
2、观察者模式还有一个地方用到的就是回调函数,上一篇博客也有提到,就是当从网络上获取完数据后再执行下一步方法,如果没有获取完则不会执行下一个方法,也用到了同样的原理:
当被观察者状态发生改变时,触发观察者发生改变,如果被观察者状态没发生改变,观察者也不会发生改变。
3、不管是button按钮监听还是回调函数,都只是应用到了一对一的观察者模式,而观察者模式可以定义对象间一对多的依赖关系,还需要更深刻的学习啊。