SuperAPI AI 工具集

decomposition

通用与其它

查看项目

更新于 10-15 17:25

技能介绍

用途:这份资料讨论在系统中把边界划在哪里——什么成为模块、服务、进程、包,什么该抽取、合并或保留。核心观点是模块化不是为了复用,而是为了隔离变化,让对一件事判断错误只付出一件事的代价。

主要能力与原则:每个边界都是赌两侧以不同速率、不同原因变化。判断边界的方法:当它被证明是错的,移除它要花多少成本。应按变化速率切分,把一起变化、因同一原因变化的东西放一起,易变与稳定分开,策略与机制分开。若单个需求每次都要改边界两侧,说明边界错了。

流程结构:以“拉取、转换、推送”为有用单元。拉取与推送面对外部世界,会失败、超时、数据畸形,应保持薄且有防御性;转换承载决策,应纯净、可用字面量测试,占主体。副作用描述为数据、在边缘执行,可保持可检查。边界处强制执行不变量。

转换能做三件事:累积(增加信息)、归约(丢弃无关差异,这才是真正的抽象)、重塑(重排以支持前两者)。真正抽象要故意丢弃东西;抽象无孤立优劣,只问它丢弃了什么、下游是否需要。

分层与限制:构建灵活笨重完整的底层,再在其上构建愉悦的上层。在自己拥有的边界包装第三方库,哪怕很薄。并非一切都要拆分:业务逻辑本就混乱,过早切分会让混乱结构化。形状未知时写在一处,让接缝在实际使用中显现。要避免的不是文件长,而是一个文件有三个主题且每次改动都触及三者。

警告信号:无版本策略的多消费者 API、业务规则住在工具模块、第二次使用就抽取共享抽象、叶子改动波及根的深依赖链、必须同步修改的模块、移除需要迁移的东西。删除是衡量标准:代码是负债,被删的代码是进步,能在不触碰邻居的情况下替换的组件就是好组件。失败模式包括复用驱动的边界、把重塑当抽象、工具模块变垃圾场、拆分未知形状、边界无归属、对称切分。

适用场景与限制:适用于软件架构与系统设计中的边界决策。资料未提供具体安装命令、代码示例、平台或收费信息。