第一阶段:C++ 面向对象与工程架构
这一阶段的目标是:从"会使用设计模式",提升到"能够设计一个结构清晰、低耦合、容易扩展的大型 Qt/C++ 项目"。
结合目前的 Qt 设备控制、TCP 通信、红外相机和多线程开发经验,我建议按照下面的顺序学习。
1、面向对象设计原则
理解为什么要这样设计代码。
- 单一职责原则(SRP)
- 开闭原则(OCP)
- 里氏替换原则(LSP)
- 接口隔离原则(ISP)
- 依赖倒置原则(DIP)
- 组合优于继承
2、依赖注入与控制反转
解决类之间相互依赖的问题。
- 面向接口编程
- 构造函数注入
- Setter 注入
- 工厂与依赖注入的区别
- Qt 中如何管理对象生命周期
3、分层架构与模块化
解决整个项目如何组织的问题。
- UI 层、业务层、设备层
- 模块间接口设计
- 头文件依赖与循环依赖
- 信号槽与模块解耦
- 静态库、动态库与模块边界
4、MVC、MVP、MVVM
解决界面逻辑与业务逻辑混杂的问题。
- QWidget 与业务逻辑分离
- Model/View 与委托机制
- Presenter / ViewModel 的职责
- 如何选择适合 Qt Widgets 的架构
我们从第一个知识点开始,逐个学习,配合 C++ 示例和 Qt 实际应用。