C++观察者模式Observer

组件协作

--(都是晚绑定的)

----观察者模式

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

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

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

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

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

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

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

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

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

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

如果需要多个观察者呢?

相关推荐
携欢19 小时前
PortSwigger靶场之Web shell upload via path traversal靶场通关秘籍
android
消失的旧时光-19431 天前
Android ADB指令大全详解
android·adb
ashcn20011 天前
opengl 播放视频的android c++ 方案
android·c++ opengl es
abner.Li1 天前
android 反编译
android
Digitally1 天前
如何删除 realme 手机上的短信
android
2501_916008891 天前
提高 iOS 应用逆向难度的工程实践,多工具联动的全栈安全方案
android·安全·ios·小程序·uni-app·cocoa·iphone
沐怡旸1 天前
【底层机制】Android图形渲染体系深度解析:VSync信号机制
android·面试
BoomHe1 天前
Android 13 (API 33)上自定义广播
android
来来走走1 天前
Android开发(Kotlin) ViewModel基本用法
android·开发语言·kotlin
Digitally1 天前
在荣耀手机上删除短信的完整指南
android