知识卡片

自顶向下设计的三个隐患

普通读书笔记卡 · 1958.e.3

内容

从高层规范逐步精炼到详细设计的自顶向下方法很有吸引力,但有三个隐患:一是低层往往有更稳固的现成模式,坚持自顶向下会因不适配而不断冒出小问题;二是能复用的COTS组件要等设计走到很细层次才会被发现,错过早期复用机会;三是团队结构会通过康威定律固化最初的模块划分,而团队结构很难改变。它还隐含傲慢:真正有价值的洞察(如意识到该用命令队列满足某质量属性)恰恰常来自对低层特性的了解。

参考来源

- 位置:《恰如其分的软件架构》第5章《建模建议》5.6节《避免自顶向下设计》(源文件:_epub-src/OEBPS/text00053.html) - 结论依据:原文说明自顶向下设计会因低层模式不适配而不断产生小问题、COTS组件复用机会被延后发现、通过Conway法则固化组织结构,并指出这种方法否定了开发者从细节层面获得洞察力的能力。 - 原始内容:低层的设计可以拥有更为牢固的模式,以验证无知犯下的错误……为了重用而去挖掘现有的COTS组件和模块会非常困难,只有到了最后才能发现它们……自顶向下的设计可以通过Conway法则来固定组织结构……系统的自顶向下方法否定了开发者的能力。