SuperAPI AI 工具集

general-architecture-principles

通用与其它

查看项目

更新于 10-16 08:05

技能介绍

这是一套面向软件架构设计的通用原则,来自 bentsolheim/public-skills 的 general-architecture-principles 技能。它针对的常见失败模式是:每个功能都被设计成自包含单元,拥有自己的 DTO、端点命名空间和词汇表,局部看起来干净低风险,但系统会因此堆积互不相干、边界模糊、模型冗余的概念。核心主张是:为系统而设计,而不是为功能而设计。

主要原则包括:第一,从系统已有模型出发,引入任何新类型、端点、投影或概念前先枚举重叠的既有概念,复用或扩展是默认选项;新概念必须给出书面理由,说明为何既有概念无法承载,“保持改动自包含”不构成理由。第二,泛化同类概念,不要制造孪生体:在命名新领域概念前,按机制和行为而非名称搜索领域内是否已存在更窄的同义概念,找到即应将其提升到领域层,而不是再造一个平行版本。第三,将能力与判断分离:可复用的读模型与操作特定的裁决(资格、阻塞项、将会发生什么)应分属不同资源;对响应中每个字段追问“还有哪个功能会原样需要它”。第四,词汇即模型:新代码应使用领域已有的通用语言,平行词汇表是设计异味。第五,一致性优先于隔离:小改动、低影响范围的反射式排序是错误的最高价值。第六,分层要包裹而非绕过:服务对象负责包裹数据访问对象时,不应从别处直接使用数据访问对象,需要新能力时扩展服务层;绕过会割裂所有权,使不变量、缓存与访问规则失效。第七,服务对象随其概念增长而非越过它:按概念边界拆分,每个概念带走自己的数据访问,不要按消费者拆分或抽出工具杂物袋,且应增量拆分。第八,方案应呈现模型而不只是机制:设计或计划中需有专门一节说明建立在哪些既有概念之上、哪些是真正新增及为何必须新增。

限制方面:资料未提供安装命令、代码示例、收费或价格、平台支持等信息,暂未提供。该技能适用于有既有领域模型的代码库中的架构评审、设计与实现规划场景。