看了,MVC模式的介绍,并调试了一段C++代码。
简单的说,MVC模式就是:订阅——>通知——>取消订阅
没错,就是3个事情。
其中,可以把类分为2种。一种是:主题类(Subject类)。一种是观察者类(Observer类)。
主题类,可以提供:订阅函数,取消订阅函数,状态变更函数,通知观察者函数等等。
观察者,可以自由定制功能,例如收到通知之后的业务逻辑放在此处。
对C++而言,其实就是非常简单的类的指针使用。所谓通知,其实就是调用观察者的指针,利用观察者的指针,去操作观察者类的实例,从而调用观察者的业务逻辑。
至于,什么时候触发通知,这个可以通过定时器,或者某种条件去触发,
而主题类利用观察者类的指针,直接使用观察者类的实例,才是精髓所在。
一句话,拿到指针,就拿到使用权,你就掌控一切。
注册:把观察者的指针压入列表
注销:把观察者的指针从列表删除
通知:利用观察者的指针去进行函数调用
至于代码,可以参考这篇博客的代码,挺标准的——http://www.cnblogs.com/jiese/archive/2013/07/11/3183635.html