--- Design Patterns --- Design patterns are low-level in contrast to architectural patterns (MVC, SPA) which tend to be more abstract.
*** Creational Patterns ***
Used when you need to create an object for a specific purpose.
Singleton - Focuses on limiting the amount of instantiated objects from a class
Factory -
Abstract Factory -
Builder -
Prototype -
Momento -
Structural Patterns
Deals with various ways of assembling classes and there instances.
Decorator -
Proxy -
Adaptor -
Composite -
Bridge -
Facade - Facade attempts to mask the unnecessary details of individual interfaces and subsystems. Simplifies the interfaces for the user. Protects client classes and promotes loose coupling in addition to reducing overall complexity as well as increasing maintainability.
Behavioral Patterns
Addresses programming problems occurring with communication between objects.
Observer -
Visitor -
Iterator -
Strategy -
Chain of Responsibility -
Command -
Mediator - Mediator pattern promotes loose coupling and improves maintainability
Domain Patterns
Interpreter - This pattern is concerned with developing a domain / task specific language.