The Singleton Design Pattern is something that I’ve talked about before in previous articles.
As Wikipedia so eloquently defines it:
In software engineering, the singleton pattern is a design pattern that restricts the instantiation of a class to one object. This is useful when exactly one object is needed to coordinate actions across the system.
If you’ve done any work with object-oriented programming and familiar design patterns, then it’s likely that you’ve come across it (if you haven’t used it).
Depending on who you ask, the singleton design pattern may be treated as an anti-pattern, like some weird use of a “poor man’s namespace,” or one of the many other negative views of it.
Though these perspectives aren’t necessarily wrong, there are times where it’s okay to use it.


