观察者设计模式

C++断言与观察者模式实践
本文介绍C++中使用ASSERT(0)进行调试的方法及预防性错误检查的应用场景,并详细阐述了观察者模式的一种实现方式。通过具体实例说明如何创建主题对象及其与观察者之间的交互过程。

在程序中插入ASSERT(0),
放个ASSERT(0)调试运行时执行到此为报错中断,好知道成员函数还没写完。
另一种情况是预防性的错误检查,在认为不可能的执行到的情况下加一句ASSERT(0),如果运行到此,代码逻辑或条件就可能有问题。
class X{
X(){}
}
声明一个对象X obj或者X obj=X()都可以
下面这个链接有关于headfirst中观察者模式的c++实现方法。
http://www.th7.cn/Program/cp/201501/364477.shtml
//程序是这样设计的:
	//1.先创建一个WeatherData对象(主题),
	//2.然后通过主题对象(WeatherData)作为观察者构造函数的参数构造
	//观察者对象(包括CurrentConditionsDisplay、StatisticsDisplay以及  )
	//3.在创建观察者对象时,在其构造函数中把其加入到主题中。所以在观察者类中
	//将包括一个私有的WeatherData类成员,即这就是所谓的组合类。
	//4.然后WeatherData对象调用setMeasurements函数时,将会最终调用观察者类的update函数
	//(这是由于WeatherData类中有list<Observer*>的私有类型,拿来存放观察者的多个类),同时
	//而在update函数中将调用display函数,最后将WeatherData对象调用setMeasurements函数的设置的结果
	//展现到界面上。
	//5.在观察者类中调用析构函数时将从主题中移除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值