How do I mark a class as a singleton in UML?

"What will most clearly represent the concept to your reader."

There is a reasonable example of the basic appearance over on Wikipedia. It shows a private constructor and a public getInstance() method that returns an object of type Singleton. I'd also find a stereotype to be a perfectly reasonable way to make it explicit without requiring your reader to parse the details of the class object.


Craig Larman's "Applying UML and Patterns" book (3rd edition) gives the following notation for a sequence diagram:

Note that it implies that before calling doA the :Register object manages to get access to the singleton via the standard way, e.g., getInstance(). This makes the diagram more agile.

For a class diagram:

Tags:

Singleton

Uml