“观察者模式”也可以称为通知者模式,订阅-发布模式、模型-视图模式
大致概念:一个主题(theme),多个观察者(observer) 收听它。
就好比 春节联欢晚会 (theme) ,全国观众(observer)观看现场直播。
那么我们怎样看直播呢?没有电视你看的成吗?有电视,但是没有全国直播,你看的成吗?
好了,这样说吧! 你作为一个观众,想看电视,家里安的都有"锅"吧,我指的是“数字电视村村通”。而且每年要交200块钱,是不?各个地方交的钱不一样,不管一样还是不一样,农村人民嘛,如果不交钱,我们的电视收不到信号,就看不成电视节目。
我们交钱的这个过程就是订阅的过程 ,到春节了,我们都能准时的收看 春节联欢晚会,说明他们给我们发布这个信息,发布直播了,这就是发布过程。
从这里展开分析:
主题基类(SubjectBase):定义它是为了扩展更多的主题,实现多态
主题(subject):
观察者基类(ObserverBase):定义它是为了扩展更多种类的观察者,实现多态
观察者(Observer):
看看在主函数中的代码:
运行结果:
上面的内容我不想做过多的解释,这里涉及到C++的基本知识,因为过多的叙述,在这里写文章会花费很多的时间,由于我思考问题时,当我考虑的面不够的时候,以后的文章我会添加上还不完善的思路。