Creational Patterns
getInstance()
) that returns the sole instance.
On the first call it creates the instance; subsequent calls return the existing one. Often also make the instance
variable static
so it’s shared. This guarantees only one object exists.