0
点赞
收藏
分享

微信扫一扫

C++类与对象二

闲云困兽 03-17 14:30 阅读 2

观察者模式

一 场景

       在软件开发中,有时候一个对象状态的变化,会导致其他一系列对象的状态或行为也发生变化。我们有时候甚至不知道这些随之变化的对象是谁,也不清楚有多少这样的对象。

       对于这种对象之间的联动,系统为了保持对象之间状态的一致性,可能会使各个对象之间产生一定的耦合。这样就会给系统的维护和扩展带来一些不便。

       针对上述情况,我们就可以使用观察者模式。观察者模式可以让联动的对象都依赖于抽象,而不是依赖于具体的对象,这样就使得一边对象的变化不会影响另一边的对象。

二 定义

        观察者模式定义了对象之间的一种一对多的依赖关系,当一个对象改变状态时,其相关依赖的所有对象都会得到通知并被自动更新。观察者模式是一种对象行为型模式。

三 类图

        Subject(抽象主题):抽象主题中会声明一个观察者的集合,把所有引用的观察者对象都保存在这个集合中。抽象主题同时会定义增加和删除观察者的方法。主题还会定义通知方法notice()。主题可以是接口,也可以是抽象类或者一个具体类。

                                                            ·

       ConcreteSubject

举报

相关推荐

0 条评论