首页 > 其他 > 详细

设计模式--观察者模式

时间:2016-04-18 13:24:09      阅读:158      评论:0      收藏:0      [点我收藏+]

观察者模式(订阅/发布模式)

场景:有一个目标对象,其状态会不定时的变化,会影响到客户端,每个客户端对这个改变做出响应。  

PULL or PUSH ?

观察者模式由pull变为push

Hollywood原则:不要访问我,当我状态改变的时候我来告诉你。例如:websocket邮件客户端可以刷新自己。

  

 

  技术分享

     上图来自wiki百科,https://en.wikipedia.org/wiki/Observer_pattern

怎样使客户端对象不会影响到subject

client实现一个接口,subject只面向这个接口

 

事件监听器

UI组件,并发时有问题,

 

Mediater仲裁者模式(调节器)

使多个类之间的紧耦合关系弱化,交互协议如果有重叠的话,尽量复用。

 

class A {

public void interact()//Mediator:interact()

}

 class Mediator{

public void interact  //定义交互规则

 

缺点:mediator会变得复杂

 

 

 

}

 

 

 

 

附加UML  

技术分享

 

设计模式--观察者模式

原文:http://www.cnblogs.com/gaocan/p/5403865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!