Multiton pattern

UML diagram of the multiton
UML diagram of the multiton

In software engineering, the multiton pattern is a design pattern which generalizes the singleton pattern. Whereas the singleton allows only one instance of a class to be created, the multiton pattern allows for the controlled creation of multiple instances, which it manages through the use of a map.

Rather than having a single instance per application (e.g. the java.lang.Runtime object in the Java programming language) the multiton pattern instead ensures a single instance per key.

The multiton pattern does not explicitly appear as a pattern in the highly regarded object-oriented programming textbook Design Patterns.[1] However, the book describes using a registry of singletons to allow subclassing of singletons,[2] which is essentially the multiton pattern.[citation needed]

  1. ^ O'Docherty, Mike (2005). Object-oriented analysis and design: understanding system development with UML 2.0. Chichester: Wiley. p. 341. ISBN 0470092408.
  2. ^ Design patterns: elements of reusable object-oriented software. Boston, Mass. Munich: Addison-Wesley. 2011. p. 130. ISBN 0-201-63361-2.