C++ 观察者模式

编程入门 行业动态 更新时间:2024-10-08 10:52:40

C++ <a href=https://www.elefans.com/category/jswz/34/1765125.html style=观察者模式"/>

C++ 观察者模式

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

观察者模式(Observer Pattern),定义了对象间的一对多的依赖关系,让多个观察者对象同时监听某一个主题对象(被观察者)。当主题对象的状态发生更改时,会通知所有观察者,让它们能够自动更新。

背景

很多时候,在应用程序的一部分发生更改时,需要同时更新应用程序的其他部分。有一种方法是:让接收者反复检查发送者来进行更新,但是这种方法存在两个主要问题:

  • 占用大量的 CPU 时间来检查新的状态
  • 依赖于检测更新的时间间隔,可能不会立即获得更新

对于这个问题,有一个简单的解决方案 - 观察者模式。

模式结构

UML 结构图:

  • Subject(抽象主题):跟踪所有观察者,并提供添加和删除观察者的接口。
  • Observer(抽象观察者):为所有的具体观察者定义一个接口,在得到主题的通知时进行自我更新。
  • ConcreteSubject(具体主题):将有关状态存入各 ConcreteObserver 对象。

更多推荐

C++ 观察者模式

本文发布于:2024-02-13 21:14:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760312.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:观察者   模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!