所谓观察者模式,便是定义了一种一对多的关系,由多个对象观察一个主题对象,当主题对象的状态发生了变化,这个主题对象会通知所有的观察者。这些观察者会根据通知的情况自动更新自己的状态。
1.主题纯虚基类。
m_list:用于保存观察者对象的链表
Attach接口,用于增添观察者,对象
Dettach接口,删除观察者对象
Notify接口,遍历通知所有观察者对象
2.观察者纯虚基类
upadate接口,用于更新自己的行为。
在参看一些书籍的时候,提到了观察者模式中经常涉及到推拉模式,推拉模式的概念理解了,不过应用还有些模糊,还希望有朋友给予解答。
下面是一个班长作为主题类对象,班上篮球队队员和啦啦队队员作为观察者对象的一个模拟场景。