设计模式(组件协作)——观察者模式
2017-06-12 13:34
176 查看
观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
在目前这个信息爆炸的社会,从客户端到移动端,现在的年轻人更倾向于移动端(IOS工程师和Android工程师最近几年很火),每时每刻都有成百上千万条信息铺面而来,很想关掉所有电子设备,让自己稍微“清净一会儿”,可以猛一抬头,发现自己错过了“很多”,他们在说啥?666???于是乎,只能乖乖的捧起自己的水果手机,做个新时代的低头族。
与其被动的接收那些不是特别有用的信息,不如主动出击,订阅自己感兴趣的内容。现在很多公众号,RSS(个人比较推崇),都支持订阅,让你在不错过主流信息的同时,又能汲取到一定的养分。
内容出版者,对应主题;内容订阅者,对应观察者。两者合二为一,构成了我们今天要介绍的观察者模式。
有过大学经历的朋友们,都对上课点名嫣然一笑,不知各位是代点的,还是被代点的,鄙人都有过。
假设有堂高数课,ABCD四位同学,A是好学生,去上课,B在寝室睡觉,C在网吧打游戏,D在学校外陪女友逛街。他们约定,如果要点名了,A在QQ群里吼一声,他们立刻赶到教室去。
是不是很熟悉的场景?哈哈哈!
没点名,该干嘛还是干嘛,一旦点名了。小伙伴们就得改变之前的状态,要么回到教室,要么给出一个代点的理由,比如说生病,blabla……
点名/没点名,对应两种状态,主题具有并能控制这种状态;观察者们使用这些状态,并做出相应的改变。上有政策,下有对策,如此而已。
更多C++示例代码,请移步到本人的github。
设计模式,祝愿你把代码写成艺术。
6/9/2017 11:41:34 AM
在目前这个信息爆炸的社会,从客户端到移动端,现在的年轻人更倾向于移动端(IOS工程师和Android工程师最近几年很火),每时每刻都有成百上千万条信息铺面而来,很想关掉所有电子设备,让自己稍微“清净一会儿”,可以猛一抬头,发现自己错过了“很多”,他们在说啥?666???于是乎,只能乖乖的捧起自己的水果手机,做个新时代的低头族。
与其被动的接收那些不是特别有用的信息,不如主动出击,订阅自己感兴趣的内容。现在很多公众号,RSS(个人比较推崇),都支持订阅,让你在不错过主流信息的同时,又能汲取到一定的养分。
内容出版者,对应主题;内容订阅者,对应观察者。两者合二为一,构成了我们今天要介绍的观察者模式。
有过大学经历的朋友们,都对上课点名嫣然一笑,不知各位是代点的,还是被代点的,鄙人都有过。
假设有堂高数课,ABCD四位同学,A是好学生,去上课,B在寝室睡觉,C在网吧打游戏,D在学校外陪女友逛街。他们约定,如果要点名了,A在QQ群里吼一声,他们立刻赶到教室去。
是不是很熟悉的场景?哈哈哈!
没点名,该干嘛还是干嘛,一旦点名了。小伙伴们就得改变之前的状态,要么回到教室,要么给出一个代点的理由,比如说生病,blabla……
点名/没点名,对应两种状态,主题具有并能控制这种状态;观察者们使用这些状态,并做出相应的改变。上有政策,下有对策,如此而已。
更多C++示例代码,请移步到本人的github。
设计模式,祝愿你把代码写成艺术。
6/9/2017 11:41:34 AM
相关文章推荐
- C++设计模式 之 “组件协作”模式:Template Method、Strategy、Observer
- 设计模式(组件协作)——策略模式
- 设计模式之观察者模式(Observer Pattern)(二)
- RIA 体系中的设计模式-客户端组件到服务器的通讯(完)(翻译)
- 乐在其中设计模式(C#) - 观察者模式(Observer Pattern)
- 认识观察者模式(设计模式)[转载]
- 利用观察者模式设计仿真器内核接口
- 设计模式之观察者模式
- Java设计模式之Observer 观察者模式
- 探究观察者设计模式
- 设计模式学习笔记(二十一)——Observer观察者
- .NET中的设计模式五:观察者模式
- 用spring实现观察者设计模式
- 设计模式——观察者模式
- Engine-Collection-Class,一种用来建立可重用企业组件的设计模式
- IssueVision 学习笔记(三)-----设计模式之OBSERVER(观察者)模式
- 设计模式PHP5实现之----观察者(Observer)
- Java设计模式之Observer(观察者)模式
- 设计模式之Observer观察者模式
- GEF框架中的设计模型(观察者模式)