---
name: solid-design-pattern
when: 'SOLID, 面向对象设计, 职责划分, 依赖倒置, 接口隔离'
scope:
  - backend
  - frontend
products:
  - '*'
id: ka-pattern-solid-design
asset_kind: pattern
lifecycle_status: active
authority: supporting
owner_mechanism_id: mc-ood-solid-contract
routes:
  - code_change
primary_triggers:
  - SOLID
  - 面向对象设计
priority: P1
specificity: 5
version: 1.0.0
last_reviewed: '2026-05-26'
consumes:
  - mc-ood-solid-contract
emits: []
secondary_triggers: []
negative_triggers: []
type: pattern
status: active
---

## 规则

- 一个类只承担一个清晰可验证的业务原因。
- 新增行为优先扩展端口或策略，避免修改大量既有条件分支。
- 子类型必须保持父契约的有效输入、输出和错误语义。
- 接口按消费者需要拆分，禁止空实现和不支持异常。
- 业务核心依赖抽象，基础设施实现由装配层注入。
- 简单修改不建立无用抽象层，避免为原则之名过度设计。
