在 UML class 图中表示或暗示 getter 和 setter 的快捷方式

Shortcut for denoting or implying getters and setters in UML class diagrams

在 UML class 图中,如果 class 有 5 个需要可变和可读的私有属性,即使没有任何方法,UML 也会变得非常丑陋,有 10 个 get/set 方法class 的有趣功能:

撇开丑陋不谈,我觉得 UML 应该关注 class' 更有趣的功能。我说得对吗?

是否有一些标准的快捷方式来表示或暗示私有属性的 getter 和 setter?

UML 没有定义 getter setter 操作。 Get 和 Set 方法在编程语言中用于实现属性定义。例如,readonly 属性将只在实现代码中有 getter 方法。如果属性定义为计算属性,代码中通常使用getter方法实现计算,而setter可以省略,因为计算属性通常是只读的。属性的可见性通常也移至代码中 getter 和 setter 方法的可见性。 在代码中为定义为读写但未计算的属性定义 geter 和 setter 方法没有意义。

你是对的:没有必要在 class 模型中包含 "boilerplate" 标准制定者和吸取者的(噪声)签名。不幸的是,UML 没有定义一个标准符号来暗示私有属性的 getter 和 setter。因此,您必须使用自己的约定。例如,您可以将一般性解释(所有私有属性都有 getter 和 setter,而私有 read-only 属性只有 getter)作为 UML Comment,显示为矩形右上角弯曲(也称为“注释符号”)附在图表上。

如果您希望使相关属性的 getter/setter 约定更加明确,则创建您自己的构造型(例如,«get/set» 和 «get»)以用于对这些属性进行分类私有属性,如下图所示:

我也将其用于 describing/documenting ECMAScript 6 classes 的隐式 getter 和 setter。