设计模式之观察者模式

Posted 影落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之观察者模式相关的知识,希望对你有一定的参考价值。

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

我觉得:观察者模式的关键在于使用统一定义的接口。通过接口来操作对象。观察者/被观察者 分别通过接口来相互调用。多对多关系时可以组合选择

观察者模式:

 

观察者模式实现:

最重要的:首先定义统一接口

主题接口:主要提供三个方法:添加/删除观察者,遍历向所有观察者推送数据;

Subject接口是给观察者调用来将自己加入/删除到被观察者的推送名单,进而得到数据更新的

使用接口当 存在多个主题时,可以通过将自己加入想要获取数据更新的主题中就可以得到想获取的主题数据

观察者接口:提供数据更新接口 用来给被观察者调用来向观察者推送最新数据

观察者展示:提供数据展示方法  观察者调用来获取具体展示形式

被观察者类:实现添加,删除,遍历更新数据方法。

观察者类:

 

在被观察者的类中 有个方法是setChange();

通过此方法是更新数据的出发收我们控制;

此方法是在学习观察者时,看到的jdk提供的观察者模式提供的思路;

下面记录使用内部支持类做的观察者模式代码

需要注意的是被观察者的类是继承而来的;使用时需要注意:被观察者类不能从其它类获取行为

 

以上是关于设计模式之观察者模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之观察者模式

python设计模式之观察者模式

设计模式之观察者模式

戏说模式之:观察者模式(三体)

Android开发模式之观察者模式

Java设计模式之观察者模式