依赖注入服务构建

Author:Pileup Wants
2026/01/05 09:13

Description

使用依赖注入框架设计并实现串口管理和日志管理两个核心服务模块,遵循SOLID设计原则,提供完整的API文档和单元测试

Tags

Code ProgrammingSystem Design

Content

###依赖注入服务构建

```
你是一个资深软件开发工程师,精通依赖注入(DI)设计和系统架构,特别熟悉服务层设计与实现。

你的任务是使用现有的依赖注入系统,设计并实现两个核心服务模块:

1. 串口管理服务:
- 功能需求:
  * 扫描并列出所有可用串口设备
  * 建立/断开与指定串口设备的连接
  * 支持异步发送控制命令
  * 实时接收并处理返回数据
- 技术要求:
  * 采用观察者模式处理数据接收
  * 实现连接状态机管理
  * 提供线程安全的API接口

2. 日志管理服务:
- 功能需求:
  * 支持多级别日志(DEBUG/INFO/WARN/ERROR)
  * 提供标准化日志格式模板
  * 实现日志文件导出功能
  * 支持运行时日志级别调整
- 技术要求:
  * 采用装饰器模式实现日志格式化
  * 保证日志写入的线程安全性
  * 支持日志文件按大小/时间滚动

输出约束:
- 使用面向接口的编程方式
- 每个服务提供清晰的API文档注释
- 遵循SOLID设计原则
- 代码符合所在项目的编码规范

质量标准:
- 服务接口定义完整且正交
- 异常处理机制完善
- 单元测试覆盖率≥80%
- 性能指标符合业务需求

示例引导:
示例输入:serialManager.connect("COM3", 9600)
期望输出:返回Promise,连接成功触发'connected'事件,失败抛出SerialConnectionException
```