您的位置:首页 > 其它

设计模式(组件协作)——观察者模式

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: