SuperAPI AI 工具集

solid

设计与创作

查看项目

更新于 10-15 23:35

技能介绍

用途:在需要设计模块边界、接口或类层次时,提供 SOLID 五项设计原则的指导,帮助构建模块化、可测试、有韧性的系统。原始面向对象设计,但其思想适用于函数、模块、服务、组件等任意范式。

主要能力:

  • 单一职责原则(S):一个模块只应有一个变更原因;若函数做两件事就拆分,按职责命名模块。
  • 开闭原则(O):对扩展开放、对修改关闭;用分发表、注册表或多态替代类型分支,围绕契约设计。
  • 里氏替换原则(L):子类型应能在父类型出现处无意外使用;无法履行完整契约时改用组合,按消费者需求设计接口。
  • 接口隔离原则(I):消费者不应依赖不使用的方法;拆分大接口为角色接口,如 Reader、Writer、Admin。
  • 依赖倒置原则(D):高层策略不依赖低层细节,二者依赖抽象;通过依赖注入传入依赖,在业务边界定义接口。

使用方式:应用前若存在 .agents/stack-context.md 应先读取,按检测到的技术栈惯用模式应用;框架细节用 context7 MCP 或网络搜索确认,不要猜测。

适用场景:生产系统持续变更,SOLID 代码能局部吸收变更,减少回归、加快交付、缩小故障影响范围。

限制:SOLID 是启发式而非法律,小脚本、原型和胶水代码无需完整应用。避免过度抽象,抽象须服务多个消费者或带来可测试性。与 KISS 存在张力,每个接口和注入点都增加间接层。函数式代码天然满足部分原则,应聚焦架构边界。

代码审查清单:每个模块是否有清晰单一职责;能否不修改现有代码添加新行为;接口是否足够小;依赖是否注入而非硬编码;能否替换实现而不触碰业务逻辑。

相关技能:separation-of-concerns、law-of-demeter、yagni。