码迷,mamicode.com
首页 > 其他好文 > 详细

观察者模式

时间:2019-08-03 23:21:30      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:inf   ima   天气预报   自己的   这一   实现   汇率   对象   关系   

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

  优点:

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

  缺点:

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

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

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

技术图片

技术图片

技术图片

技术图片

技术图片

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

  看下面这个例子:

  技术图片

  技术图片

 

观察者模式

标签:inf   ima   天气预报   自己的   这一   实现   汇率   对象   关系   

原文地址:https://www.cnblogs.com/liaobudao/p/11296645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!