[设计模式]观察者模式

守給你的承諾、 提交于 2019-12-10 20:43:08

也叫 事件模式,

事件触发。

 

场景中二者的联系(意味着可能产生耦合)是:通知。

所以要对这块进行设计模式运用。

 

依赖倒置中的

依赖

我们指的是编译依赖。

A依赖B,则表示编译A模块,B模块必须已经实现完成。

所以我们要做到依赖接口(虚函数),而不是依赖具体的实现、实现细节(子类)。

 

多继承:

好的C++代码,不建议集成多个类或者多层继承,

但,建议 继承一个主体类,其他是接口类,

该方式是可以的。

 

添加删除观察者。

删除观察者,时间复杂度要考虑。list删除复杂度O(1)。

 

1.将观察者或目标进一步抽象各自的基类,

这样, 二者的树木可以独立的改变,互不影响,达到松耦合。

(把本来相互影响/event的事件,这样做实现了解耦合)

2.目标对象,不需要制定观察者进行通知,会自动传播

3.目标不知道订阅者的去留,有多少也不知道。

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!