上万行 Qt 单体上位机越改越崩?插件化架构才是工业软件唯一出路 绝大多数 Qt 工控开发者都会踩单体架构大坑:把串口通信、图像算法、曲线 UI、数据存储全部塞进主窗口,单类代码轻松破万行。 前期写代码速度很快,可上线迭代半年后问题集中爆发:修改一处逻辑,多个页面同步报错;多人开发频繁代码冲突;新增视觉检测功能要大面积改动原有主程序;软件连续运行一周就出现内存溢出闪退。 工业软件硬性需求是 7×24 小时稳定运行、功能按需插拔、不停机迭代,单体架构天生无法满足。Qt 原生仅提供基础 DLL 动态库能力,没有标准化隔离机制,简单导出类的写法依旧存在头文件依赖、模块强耦合问题。 工业化插件架构核心分层思路:底层通用基座、中间标准接口层、上层业务插件集群。基座只负责插件扫描加载、生命周期管理、全局消息分发,完全不碰业务逻辑;设备通信、算法处理、UI 页面全部封装独立插件。 模块之间不互相包含头文件、不直接调用实例,依靠消息总线完成数据交互。新增功能只需要新增 DLL 插件,不用改动主程序源码,删除功能直接卸载插件,零侵入原有工程,也是海康、大华工业视觉软件统一采用的底层方案。