知识卡片

架构无关设计的代价

普通读书笔记卡 · 1958.c.7

内容

采用[[三种软件架构处理方式总览]]中的架构无关的设计不代表没有架构——所有系统都有架构,只是没经过审慎挑选。它最适合低风险、无挑战性的独立项目。但风险在于:若团队对架构缺乏共识,系统会随时间从合适退化为不合适——局部无原则的修改试图提速,复杂度日渐累积,最终超出维护能力。成熟的现成连接器和组件(服务总线、关系数据库)能部分缓解此弊端,因为它们替开发者处理了本该在架构层面考虑的并发、伸缩等问题。

参考来源

- 位置:《恰如其分的软件架构》第2章《软件架构》2.6节《架构无关的设计》(源文件:_epub-src/OEBPS/text00020.html) - 结论依据:原文说明架构无关的设计适合低风险项目,但存在退化风险——团队对架构愿景缺乏共识时,局部无原则的修改会累积复杂度直至超出维护能力,成熟连接器/组件能部分缓解此弊端。 - 原始内容:架构无关的设计存在若干弊端。如果开发团队对架构愿景(architectural vision)缺乏共识,那么即便是具有合适架构的系统,随着时间的推移也会退化为架构不合适的系统……架构无关的设计开启了通往复杂度的大门,一旦增加了复杂度,系统就变得积重难返。