在上一篇中简单的介绍了设计模式中Observer模式的java实现,本人一直在做C++开发,理所当然要做一个C++的实现版,
java基础基本是在学校拿下的,工作后偶尔玩下,android开发也是基于Java的,所以我熟悉java语言并不奇怪,仅仅是我没有做过
java的大型项目罢了,好了言归正传,这里的Observer c++版本也基本是参考java语言的接口,函数名字基本一样,只是我
采用了匈牙利命名规范,跟Java的命名规范稍有区别,下面是
被观察类,gof中称为目标类--subject
观察者:
下面将结合gof例子进行一个简单实现,这里就不再用product和consumer的例子了
定义一个CClockTimer:一个用于存储和维护一天时间的具体目标(subject)
定义一个CDigitalClock类来显示一个数字时钟
再定义一个CAnalogClock来显示一个模拟时钟
好了,我们现在已经有了两个观察者类的具体实现以及 一个Subject目标类,
他们的实现代码将在下一篇中给出,运行 的结果图: