The used examples and notions almost come from OOD Design.
Singleton
code example
Intent
to make sure only one instance of a class is created
provide a global point of access to the object
Applicability
Logger
Configuration
Accessing resources in shared mode
Factories implemented as Singletons
Combinning Abstract Factory or Factory Method and Singleton design patterns is a common practice. Why ? A factory gives you a separate spot to decide what instances/instance you’re going to get. For example, when you want a wrapper that implements SQL logging, you can pass a subclass.