观察者模式

Posted liaobudao

tags:

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

  在现实生活中,股票价格与股民、气象局天气预报与听众、微信与微信用户,他们都是不能独立存在的,其中一个发生改变可能会导致一个或多个其他对象发生改变。解决这一类行为的一种实现方式可以使用“观察者模式”。观察者模式的描述,当对象存在一对多的依赖关系时,目标对象的状态发生变化时,应当所有依赖它的对象都得接受到通知自动更新;它是对象行为模式。观察者模式,通过观察目标对象,是否发生变化来决定自己的行为是否发生改变。

  优点:

    1、解耦,将观察者与目标抽象分离,减少依赖。

  缺点:

    2、当目标有过多的观察者,通知时时间花费很多。

    2、观察者与目标之间有循环依赖,可能导致系统崩溃。

  这里拿一个进出口公司汇率的例子实现:

技术图片

技术图片

技术图片

技术图片

技术图片

  在Java API 中专门有工具来做了这些事情 Observer、Observable

  看下面这个例子:

  技术图片

  技术图片

 

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

观察者模式是啥

观察者模式

设计模式之观察者模式

Android开发模式之观察者模式

[设计模式]观察者模式与订阅模式

设计模式-行为型模式-观察者模式