observer模式,可以用于一对多的情况。当某一对象发生变化时,及时把消息下发给它的观察者,观察者再在进行各自的数据变化。典型的用法如下:
1.创建一个observer基类,定义update纯虚函数,这个函数在每个观察者中,根据观察者的需求重写;
3.创建被观察类,这个类作为触发update的数据源,需要有两个关键特征。首先它要有一个观察者数组(observer父指针),以及与之配套的add函数,为了便于使用,这个add函数一般定义为static函数。这个特征的作用是注册观察者。另外它需要一个信息发布函数updateoberver,用于在适当的时候通过遍历的方式,触发每个观察者重写的update函数。
3.创建观察者,观察者继承observer基类。它需要做两个关键工作,首先重写update函数,第二需要使用被观察类的static add函数,把自身(this)注册为背观察者的观察者。

被折叠的 条评论
为什么被折叠?



