![](https://www.jinchutou.com/images/s.gif)
设计格式C++--观察者格式
13页1、 .wd.观察者模式,又叫做发布-订阅Publish/Subscribe模式观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使得它们能够自动更新自己。观察者模式的动机将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维护一致性而使各类严密耦合,这样会给维护、扩展和重用都带来不方便。而观察者模式的关键对象是主题Subject和观察者Observer,一个Subject可以有任意数目的依赖它的Observer,一旦Subject的状态发生了改变,所有的Observer都可以得到通知。Subject发出通知时并不需要知道谁是它的观察者,也就是说,具体观察者是谁,它 基本不需要知道。而任何一个具体观察者不知道也不需要知道其他观察者的存在。什么时候应该使用观察者模式当一个对象的改变需要同时改变其他对象的时候。而且它不知道具体有多少对象有待改变时,应该考虑使用观察者模式。也可以理解为,当一个抽象模型有两个方面,其中一方面依赖于另一方面,这时用观察者模式可以将这两者
2、封装在独立的对象中使它们各自独立地改变和复用。总的来说,观察者模式所做的工作其实就是在解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响另一边的变化。工程构造1抽象通知者Subject.h2抽象观察者Observer.h3具体通知者ConcreteSubject.h4具体观察者ConcreteObserver.h5客户端类ObserverApp.cpp1抽象通知者Subject.hview plaincopy to clipboardprint?/* * description: 主题或者抽象通知者类,一般用一个抽象类或者一个接口实现。 它把所有对观察者对象的引用保存在一个聚集里,每个主题都 可以有任何数量的观察者。抽象主题提供一个接口,可以增加 或者删除观察者对象。 * remark: */ #ifndef _SUBJECT_H_ #define _SUBJECT_H_ #include Observer.h #include #include #include using namespace std; class CSubject public: /
3、 增加观察者 virtual void Attach(CObserver* pObserver) = 0; / 移除观察者 virtual void Detach(CObserver* pObserver) = 0; / 通知 virtual void Notify(void) = 0; ; #endif _SUBJECT_H_ /* * description:主题或者抽象通知者类,一般用一个抽象类或者一个接口实现。 它把所有对观察者对象的引用保存在一个聚集里,每个主题都 可以有任何数量的观察者。抽象主题提供一个接口,可以增加 或者删除观察者对象。 * remark:*/#ifndef _SUBJECT_H_#define _SUBJECT_H_#include Observer.h#include #include #include using namespace std;class CSubjectpublic: / 增加观察者 virtual void Attach(CObserver* pObserver) = 0; / 移除观察者 virtual void Detach(C
《设计格式C++--观察者格式》由会员人***分享,可在线阅读,更多相关《设计格式C++--观察者格式》请在金锄头文库上搜索。
![(完整word版)机电一体化技术的现状及发展趋势.doc](https://union.152files.goldhoe.com/2023-4/14/a81a1201-73ba-4b6a-8ca9-b791dba17f64/pic1.jpg)
(完整word版)机电一体化技术的现状及发展趋势.doc
![小学初中必读书目.doc](https://union.152files.goldhoe.com/2023-3/30/0124de15-7fc5-42f3-8a7e-4fbb9cbbca66/pic1.jpg)
小学初中必读书目.doc
![屏蔽泵维护检修规程](https://union.152files.goldhoe.com/2023-3/2/c8499ced-4e51-436a-a9e5-8dc97d3976ae/pic1.jpg)
屏蔽泵维护检修规程
![第4部分 排球.docx](https://union.152files.goldhoe.com/2023-3/9/84b021a6-a033-474c-b99d-ac37a5100d2a/pic1.jpg)
第4部分 排球.docx
![新生军训自我鉴定800字(通用17篇).docx](https://union.152files.goldhoe.com/2023-1/24/8b8ad522-0412-4936-8d44-03db35d0fd31/pic1.jpg)
新生军训自我鉴定800字(通用17篇).docx
![我与名师面对面.doc](https://union.152files.goldhoe.com/2023-3/28/bbc2c9d2-38a8-466b-837c-21dc815d031b/pic1.jpg)
我与名师面对面.doc
![胃溃疡病理学分析.doc](https://union.152files.goldhoe.com/2024-2/11/0a64a776-189a-4f50-a0df-cf3bb23a2584/pic1.jpg)
胃溃疡病理学分析.doc
![公司出纳年终工作总结通用15篇.docx](https://union.152files.goldhoe.com/2024-2/21/a2d774a1-af55-489d-a682-35575abb8045/pic1.jpg)
公司出纳年终工作总结通用15篇.docx
![(完整word)《英美文学史》名词解释.doc](https://union.152files.goldhoe.com/2023-2/23/f722a32e-354f-4a61-9a3c-85bbaa3160ba/pic1.jpg)
(完整word)《英美文学史》名词解释.doc
![记念刘和珍君.docx](https://union.152files.goldhoe.com/2022-8/26/f00ebbf9-ee60-483a-a4a0-1325eac24636/pic1.jpg)
记念刘和珍君.docx
![秋天的雨教学设计 .doc](https://union.152files.goldhoe.com/2024-1/30/cc7933ed-7add-4cda-9b92-46bb5efe91d0/pic1.jpg)
秋天的雨教学设计 .doc
![教学方案8上册.doc](https://union.152files.goldhoe.com/2024-2/25/cb1b1cd1-a9d2-4815-90a0-77b00c133d7c/pic1.jpg)
教学方案8上册.doc
![2023年大二学生暑期社会实践心得体会(大全8篇)](https://union.152files.goldhoe.com/2022-8/30/ed9e1537-a00c-41d0-9327-53e73be4073b/pic1.jpg)
2023年大二学生暑期社会实践心得体会(大全8篇)
![江苏省建设工程文明工地需要做的安全管理资料.doc](https://union.152files.goldhoe.com/2023-5/17/d3df064d-2359-46c4-bb98-580286d08930/pic1.jpg)
江苏省建设工程文明工地需要做的安全管理资料.doc
![16.小真的长头发[35].docx](https://union.152files.goldhoe.com/2023-11/29/19301318-cfd4-4d52-b58f-2ce0c98ad17c/pic1.jpg)
16.小真的长头发[35].docx
![砂石材料供货运输合同.docx](https://union.152files.goldhoe.com/2024-1/5/95de3abe-ac99-4a45-b608-518f8622c474/pic1.jpg)
砂石材料供货运输合同.docx
![参加篮球培训心得体会范文(通用5篇).docx](https://union.152files.goldhoe.com/2023-2/16/7e55101e-4b67-4dc8-b492-5a20b1bb68ce/pic1.jpg)
参加篮球培训心得体会范文(通用5篇).docx
![成都报废机动车拆解项目投资计划书](https://union.152files.goldhoe.com/2023-3/11/f0ae354e-30a8-41e0-a683-66701700d291/pic1.jpg)
成都报废机动车拆解项目投资计划书
![《数字信号处理》第三版答案(非常详细完整)](https://union.152files.goldhoe.com/2022-11/11/178dab7c-cfab-4a9c-90ad-70e3c3a20cce/pic1.jpg)
《数字信号处理》第三版答案(非常详细完整)
![北师大版小学五年级上册数学期末试卷.docx](https://union.152files.goldhoe.com/2023-8/5/b4302f32-a091-4729-845b-d00317cbc784/pic1.jpg)
北师大版小学五年级上册数学期末试卷.docx
![员工工资管理系统(c语言编程).docx](/Images/s.gif)
2022-11-05 6页
![环氧浇注件年产30万件项目资金申请报告写作模板定制](/Images/s.gif)
2024-01-04 99页
![兰陵付华伟教育技术学论文](/Images/s.gif)
2023-09-07 11页
![职工职业技能竞赛液压支架工、瓦斯检查工试题题库及标准答案.doc](/Images/s.gif)
2023-01-30 97页
![劳动监察投诉书(模板)](/Images/s.gif)
2023-05-01 2页
![医院多学科综合诊疗会诊申请表、登记表、记录、评价纪要.doc](/Images/s.gif)
2024-02-17 5页
![高分子可塑性新材料项目可行性研究报告](/Images/s.gif)
2022-11-07 77页
![生产线自动焊接机器人项目资金申请报告写作模板代写](/Images/s.gif)
2023-02-25 103页
![工匠精神主题活动方案(最新整理)](/Images/s.gif)
2023-01-06 3页
![凸透镜成像导学案](/Images/s.gif)
2022-11-27 3页