2.3 Singleton

The singleton pattern is another foundational pattern that is used quite often. The goal of the singleton pattern is to allow the coder to know that they are only ever dealing with a single instance of a key class—that they get the same object back every time it is requested.