Design Patterns are typical solutions to commonly occurring problems in software design. They are blueprints that you can customize to solve a particular design problem in your code.| refactoring.guru
Singleton is a creational design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.| refactoring.guru