知识卡片
组件细化的关闭语义规则
内容
用组件装配图细化一个组件、展示内部设计时,必须遵守”关闭语义”:不改变端口的数量和类型,不改变外部可见的约束和行为——内部可增加实现细节、追求更好性能,但不能达不到外层已承诺的规范。这条规则消除读者的意外:外层图显示两个端口,细化后突然冒出第三个从未提及的端口,读者一定会困惑。端口太多、全画出来反而降低可读性时,正确做法是显式忽略部分端口并加注释说明,而非悄悄隐藏。
参考来源
- 位置:《恰如其分的软件架构》第12章《模型元素》12.3节《组件装配》(源文件:_epub-src/OEBPS/text00116.html)
- 结论依据:原文说明细化组件时必须遵循关闭语义规则——不改变端口数量类型、不改变外部可见约束和行为,并说明忽略端口时应加注释说明,以避免读者在更详细图中遇到意外的新细节。
- 原始内容:遵循更加保守的规则(也称关闭语义(closed semantics))能确保不出现前面提到的意外。这些规则是:(1) 不改变端口的数量和类型;(2) 不改变外部可见的约束和行为……最简单的方案就是,一方面忽略端口,一方面在图上标上注释,说明哪些端口被忽略了。