观察者模式

观察者模式的逻辑结构如下:

由图可知,Subject(被观察者)是一个接口,所有被观察者的实例对象都必须继承这个接口,

Observer(观察者)也是一个接口,当被观察者更新时,被观察者就会通知与他绑定的观察者数据更新,然后观察者就做出相应的响应,下面是代码实现:


首先是被观察者的接口:


接下来是观察者的接口:


这里只有一个响应方法接口,因为,观察者与被观察者的关系是单方向绑定,观察者一般不对被观察者做出影响,而是自己作出响应。

接下来是观察者和被观察者的实例:



这里观察者和被观察者只做了简单的绑定和更新。

接下来看event类:


这个类持有一个listerner的接口引用,当事件触发是采用回调的形式,让被观察者通知观察者更新数据。EventListerner的接口只有一个onEvent方法,就不贴出来了。

最后我们看看在main里面怎么操作:


这里是注册了一个按钮,但点击事件触发时,事件启动。

看到这里应该差不多懂了观察者模式是怎么回事了。由观察者去响应被观察者的变化,通过事件的回调来处理事件,这就是观察者模式。


第一次写博客,如果有什么不正确的地方,麻烦指出来下,谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容