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

设计模式之观察者模式

时间:2017-09-11 10:23:06      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:通知   更新   log   dep   png   nta   tomat   subject   its   

先看看维基定义:

The observer pattern is a softeware desugn pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifes them automatically of any state changes, usually by calling one of their methods. (The observer pattern is also a key part in the familiar model-view-controller(MVC).)

观察者模式:

存在两个对象 ,主题对象 观察者对象, 主题对象包含一系列观察者对象。 每当主题的状态改变时,都会通过调用观察者对象中的方法来通知所有观察者对象(MVC 模式中也包含了观察者模式)。

 

按照面向接口编程的原则, 存在主题对象观察者对象, 则自然存在抽象主题对象以及抽象观察者对象, 静态类图如下:

 

技术分享

以上结构图中角色如下:

  • Subject(抽象主题角色):将所有观察者对象的引用保持在一个列表中,动态的通知观察者对象,并提供增加与删除观察者对象的操作, 一般由抽象类或者接口实现。
  • Observer(抽象观察者对象): 为所有具体观察者定义一个接口,在得到 Subject 通知时更新自己。 一般由抽象类或者接口实现。
  • ConcreteSubject(具体主题角色/具体被观察者角色): 实现抽象主题接口。
  • ConcreteObserver(具体观察者角色); 实现抽象观察者接口, 使自身状态与主题的状态相协调。

设计模式之观察者模式

标签:通知   更新   log   dep   png   nta   tomat   subject   its   

原文地址:http://www.cnblogs.com/yaolin1228/p/7503070.html

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