如何在UML中将类标记为单例?

时间:2011-12-05 14:27:56

标签: singleton uml

我有一个UML图,我想将一些类标记为单例(因为它们是)。我怎么做?我是否发明了一种新的刻板印象,或者我只是添加一条评论,还是有一些现有的方法可以做到这一点?

3 个答案:

答案 0 :(得分:15)

“最清楚地代表读者的概念的是什么。”

Wikipedia上有一个基本外观的合理例子。它显示了一个私有构造函数和一个返回类型为getInstance()的对象的公共Singleton方法。我还发现一个刻板印象是一种完全合理的方式,使它明确,而不需要你的读者解析类对象的细节。

答案 1 :(得分:4)

Craig Larman"应用UML和模式"本书(第3版)给出了序列图的以下符号:

请注意,这意味着在调用doA之前,:Register对象设法通过标准方式访问单例,例如getInstance()。这使得图表更加灵活。

对于类图:

答案 2 :(得分:0)

要指定一个类为单例,可以在大括号之间写一个约束:{实例数= 1}。该约束应放在类矩形的约束区中。

classdiagram

UML 2.5规范§7.6.4定义了约束的一般表示法,而§9.2.4指定了如何显示分类器的约束:

  

如果分类器拥有约束,则符合性工具可以实施一个分隔间以显示列出的拥有的约束   在所属分类器矩形的单独隔间中。该可选隔层的名称是   “约束。”

或者,您可以发明自己的刻板印象“单身”。