C++观察者模式Observer

组件协作

--(都是晚绑定的)

----观察者模式

为某些对象建立一种通知依赖 的关系,

只要这个对象状态发生改变,观察者对象都能得到通知。

但是依赖关系要松耦合,不要太依赖。

eg:做一个文件分割器,需要一个界面mainform。里面有文件路径,文件号。

但是如果文件太大了,我想分割,想要一个进度条。依赖倒置原则:高层模块不能依赖底层模块。

Bar上述这样就不可以,因为编译时依赖了,这样是违背依赖倒置的。

怎么样重构这个代码?是不是找filesplitter的父类就可以了呢?也很粗浅。

Bar实际上就是一种通知,不需要一种控件 来表达。而需要抽象的通知机制

直接写一个IProgress类当抽象接口,然后多继承,然后重写、调用。

上图,从绿色到黑色。从不良耦合到良好耦合。

如果需要多个观察者呢?

相关推荐
用户86022504674721 小时前
Jetpack ViewModel 入门与实践
android
随遇丿而安1 小时前
第3周:按钮这件小事,真正麻烦的是“点完以后”
android
峥嵘life3 小时前
五一南昌第三天游玩记录:梅景寻芳,母校忆旧,摩天轮揽夜
android
qq_452396234 小时前
第三篇:《JMeter断言:验证接口响应正确性》
android·jmeter
aqi004 小时前
一文速览 HarmonyOS 6.0.1 引入的十个新特性
android·华为·harmonyos·鸿蒙·harmony
橙子199110166 小时前
Android 第三方框架 相关
android
赏金术士6 小时前
JetPack Compose 弹窗、菜单、交互组件(五)
android·kotlin·交互·android jetpack·compose
海天鹰6 小时前
高版本安卓老应用下面空白
android
猫的玖月7 小时前
(七)函数
android·数据库·sql