今天自己看了一下观察者模式,大概了解了一个使用模式和需要解决代码耦合度问题。
首先观察者模式中有两方面的关系:观察者和被观察者,我们可以用微信公众号和用户来类比这个模式:
1:用户通过一定的途径知道某个公众号并且订阅这个公众号 ,公众号平台就是被观察者 ,公众平台具有产生内容并且发布内容的功能
2:用户能够收到公众号发布的消息和图文内容,用户就是观察者,能够随着公众平台的状态变化而导致自己的变化(receive then do sth)
大概实现步骤如下:
1:定义一个被观察者接口(注册观察者,删除观察者,通知观察者三个方法)
2:定义一个观察者接口 (更新状态,根据收到的消息作出处理)
3:定义被观察者实现类(观察者集合,消息对象,实现三个方法)
4:定义观察者实现类 (接受消息,作出操作)