知识卡片
多层级故事的原则与经验法则
内容
让复杂系统可理解的关键,是让它在每一层嵌套上都能”讲出一个故事”——新人空降到任意一层,都能理解这一层的元素是怎么协作的,而不必先吃透全部细节。做到这一点靠四条方针:分级嵌套元素形成抽象层级;限制每层的元素数量(经验值5到50个,超过50就该重构拆分,太少则该合并”减少中间管理”);每个元素目的明确;每个元素封装到位、不泄漏不必要的内部细节。好处是认知层面的:能应对更大规模、任意时刻需要理解的复杂度都被限制在当前层——但维护多层级故事本身有持续成本,像园艺一样需要随系统演化不断打理,要在收益和维护成本之间找平衡点。
结构图:
flowchart TD
A[多层级故事] --> B[分级嵌套元素形成抽象层级]
A --> C["限制每层元素数量<br/>经验值5-50个"]
A --> D[每个元素目的明确]
A --> E[每个元素封装到位]
B --> F[好处:应对更大规模、限制任意时刻的复杂度]
E --> G[代价:像园艺一样需要持续维护]
参考来源
- 位置:《恰如其分的软件架构》第11章《封装和分割》11.1节《多层级故事》(源文件:_epub-src/OEBPS/text00106.html)
- 结论依据:原文提出"多层级故事"概念及四条构建方针,给出5到50个元素的经验法则,并说明好处是认知层面的规模与复杂度控制,代价是持续的维护成本。
- 原始内容:(1) 通过分级嵌套元素……创建抽象级别。(2) 限制各层级的元素数量。(3) 每个元素都有一个明确的目的。(4) 确保每个元素都是封装的……在某一个特定的抽象层级上,元素的合理数量在5到50之间。