Adapter is a structural design pattern that allows objects with incompatible interfaces to collaborate.| refactoring.guru
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
Strategy is a behavioral design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.| refactoring.guru
Template Method is a behavioral design pattern that defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure.| refactoring.guru
Decorator is a structural design pattern that lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors.| 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
Proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.| refactoring.guru