The singleton design pattern

The singleton design pattern ensures that a class has only one object instance in the entire application. It introduces a global state in the applications it is used in.

A singleton object can be initialized using different strategies—lazy initialization or eager initialization. This all depends on the intended use, the time it takes an object to be initialized, and so on.

Class diagram

Singletons are another example of design patterns, which are supported out of the box by the Scala programming language syntax. We achieve this using the object keyword. In this case, again, providing a class diagram is not necessary, so we will step right into the example in the next subsection.

Code example

The aim of this example is to ...

Get Scala Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.