在上一篇命令模式实践前奏篇中对业务场景进行描述,对业务需求进行了抽象的分析,并简述了第一版的实现。接下来使用设计模式中的思想对硬件控制模块进行重构,目标是达到易扩展,便于维护。
总体设计
也可能算作详细设计吧
基于上一篇的场景和需求的分析,对整个硬件控制过程可以抽象为以下部分:
- 读取任务
- 识别任务
- 转为命令
- 下发到硬件
- 反馈命令结果
- 反馈任务结果
过程中需要记录关键日志以及审计日志。
读取任务
任务获取可以分为两种形式:主动获取、被动获取。差异点体现如下:
- | 主动获取 | 被动获取 |
---|---|---|
特点 | 自主调度 识别自身压力 |
实现逻辑简单 需要识别自身压力,并反馈到外部 |
在这里,重构过程中通过被动方式实现,代码对外提供任务读取接口,需要外部业务方实现接口,共WCS