代码设计思想

2026-11-05 11:35:18 程序设计工程

依赖注入

依赖注入的核心思想:业务逻辑层不负责对象的创建,而是通过外部传入(注入)所需的依赖对象,直接使用。

  1. 解耦生产与消费:业务代码只关注依赖的使用逻辑,对象的实例化与组装统一在应用最顶层(组合根)完成,实现生产端与消费端的职责分离。
  2. 可测试性:通过注入 Mock / Fake 的 Service、Store 接口,单元测试时无需建立真实的外部连接(数据库、RPC 等),即可独立验证业务逻辑
  3. 可扩展性与可替换性:面向抽象编程,依赖接口而非具体实现。例如 MQ 消息队列当前基于 Redis 实现,后续可无缝切换为 Kafka、RocketMQ 等其他中间件,只需新增该接口的实现类;日志组件同理,不同日志后端共用同一套日志接口

为什么用结构体

  1. 结构体实现接口,遵循面向接口编程原则 —— 依赖抽象而非具体实现,便于替换和测试
  2. 以 Client 这类工具型组件为例,其内部维护配置状态(如最大重试次数等),将与配置强耦合的方法收敛为结构体成员方法,实现状态与行为的封装