设计思想与设计模式 - Ligcox/BTP_DM GitHub Wiki
BTPDM主要采用了面向对象的软件开发方法,主要功能模块采用类实现,基本上参照了单例模式进行设计。
BTPDM的大部分类都从module
类派生,其中module
初始化部分的元素为独有部分,这样__init__
可以最大化被子模块继承,子模块可以重载后通过super().__init__()
调用该初始化功能,module
有大量读取config配置参数的方法,实现在运行过程中的热调参。
特殊地
任务调度器:采用了Python的上下文管理器机制
BCPlogger和BCPViewer:采用了面向切面的编程思想
在设计模式的具体运用方面,BTPDM仍然有很多不足,由于前期设计的缺陷,某些设计模式在具体的实现中缺失,这也为后期的迭代更新提供了动力,具体可以参见BTPDM优化方向和Roadmap