设计思想与设计模式 - Ligcox/BTP_DM GitHub Wiki

BTPDM主要采用了面向对象的软件开发方法,主要功能模块采用类实现,基本上参照了单例模式进行设计。

BTPDM的大部分类都从module类派生,其中module初始化部分的元素为独有部分,这样__init__可以最大化被子模块继承,子模块可以重载后通过super().__init__()调用该初始化功能,module有大量读取config配置参数的方法,实现在运行过程中的热调参。

特殊地

任务调度器:采用了Python的上下文管理器机制
BCPlogger和BCPViewer:采用了面向切面的编程思想

在设计模式的具体运用方面,BTPDM仍然有很多不足,由于前期设计的缺陷,某些设计模式在具体的实现中缺失,这也为后期的迭代更新提供了动力,具体可以参见BTPDM优化方向和Roadmap