知识卡片
细化关系与设计代码鸿沟
内容
细化(refinement)关系连接同一事物在不同细节层级的模型:既可以是边界模型与内部模型之间,也可以是设计模型与代码模型之间。设计到代码的细化并不完整对应——模块能映射到代码的包,组件能映射到类,但设计模型里的变量、约束、架构风格在代码模型中却没有直接体现,因为主流编程语言表达不出”网络请求必须一秒内完成”这类约束,代码只能遵守,无法在语法层面直接展示。这正是设计与代码存在差距的根源。
参考来源
- 位置:《恰如其分的软件架构》第7章《软件架构的概念模型》7.3节《指定与细化关系》(源文件:_epub-src/OEBPS/text00069.html)
- 结论依据:原文说明细化关系连接内部/边界模型及设计/代码模型,并指出设计模型中的变量、约束、架构风格在代码模型中没有直接对应,因为主流编程语言无法直接表达这些约束。
- 原始内容:细化是相同事物的模型在低层细节与高层细节之间的关系……设计模型的其他部分在代码模型中是没有的:变量、约束和架构风格。基本上,没有主流编程语言可以直接表达设计模型中的约束。