知识卡片

只读不是冻结

普通读书笔记卡 · 765.e

内容

只读表示客户不能更新性质,冻结表示对象生命周期内性质不改变。前者是访问权限,后者是时间维度上的不变性,建模时不能混用;把冻结推广到整个对象层面,就是[[值对象按值相等]]里“不可变”的好处。

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南》第5章《类图:进阶概念》(源文件:_epub-src/EPUB/4.xhtml) - 结论依据:原文围绕“如果性质在对象的生命期内不能改变,它就是冻结的”给出定义、对比或使用限制,说明该概念的含义和适用边界,因此可推出本卡片结论。 - 原始内容:...标记客户只能读取不能更新的性质。和它相似但不同的是来自UML 1的{frozen}关键词。如果性质在对象的生命期内不能改变,它就是冻结的(frozen);这样的性质经常被称为不可变的。虽然已经从UML 2中删除,{frozen}还是一个非常有用的概念,因此我愿意继续使用它。你既可以标记个别性质为...