C++设计模式之观察者模式

目录

 

1.设计目的

2.设计UML

3.实现代码

4.应用场景


1.设计目的

观察者模式属于行为设计模式,是一种发布-订阅的机制,可以为事件的发布者和订阅者解耦,无需修改发布者代码就能引入新的订阅者类,可以在运行时建立对象之间的联系。

2.设计UML

以 UI文本编辑为例:

UI输入变化后,将变化的字符串保存到日志文件中,同时也将该字符串发送给云端服务器

 

3.实现代码

见代码地址:https://github.com/luozichao324/Design-Patterns/tree/main/Listener/Listener

4.应用场景

a) 当一个对象状态的改变需要改变其他对象, 或实际对象是事先未知的或动态变化的时,可使用观察者模式;当你使用图形用户界面类时通常会遇到一个问题。 比如, 你创建了自定义按钮类并允许客户端在按钮中注入自定义代码, 这样当用户按下按钮时就会触发这些代码;再如:MQTT消息机制实现。

b) 当应用中的一些对象必须观察其他对象时, 可使用该模式。 但仅能在有限时间内或特定情况下使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值