知识卡片

拆分视图的代价是不一致性与碎片化

普通读书笔记卡 · 2051.a

内容

用多个视图拆解架构不是没有代价的免费方案。拆得越细,视图之间越容易出现不一致——目前没有成熟的工具能自动交叉校验多个视图,一致性基本靠人工维护;选错该画哪些视图同样容易发生,且很依赖架构师自身经验;视图数量一多还会导致碎片化,每份都要花精力创建和维护。应对办法是主动删掉不解决任何真实关注点的视图,必要时合并出混合视图,但要清楚合并视图会更难理解和维护,因为它同时承载了多个关注点。

参考来源

- 位置:第3章《视点和视图》3.5节「视点缺陷」(源文件:_epub-src/OEBPS/text00022.html附近) - 结论依据:原文列出使用视图/视点的三类缺陷——不一致性(无广泛使用的可自动交叉检查的架构描述语言,依赖手动过程)、选择错误的视图、碎片(视图越多创建维护成本越高,需删除无关视图或合并出更难理解的混合视图),直接支持卡片结论。 - 原始内容:"不一致性:毋庸置疑,使用大量视图来描述系统会导致一致性上的问题……当前还没有广泛使用的、可以由计算机检查的架构描述语言。这意味着在架构描述中实现跨视图的一致性还依赖于手动过程……碎片:拥有多个架构视图会让架构描述难以理解……为了避免碎片的情况……你需要删除那些没有解决你正在构建的系统的关注点的视图……你要知道,组合视图会变得更加难于理解和维护,因为它们解决的是多个关注点的组合。"