-
Creational : Creational design patterns abstract the instantiation process. They help make a system independent of how its objects are created,composed, and represented.
- Factory Method: Subclass of object that is instantiated
- Abstract Factory: Families of product objects
- Builder: How a composite object get created
- Prototype: Class of object that is instantiated
- Singleton: The sloe instance of a class
-
Structural : Structural patterns are concerned with how classes and objects are composed to form larger structures. Structural class patterns use inheritance to compose interfacesor implementations.
-
Behavioral
- Chain Of Responsibility: Object that can fulfill a request
- Command: When and how a request is fulfilled
- Interpreter: Grammar and interpretation of a language
- Iterator: How an aggregate's elements are accessed, traversed
- Mediator: How and which objects interact with each other
- Memento: What private information is stored outside an object, and when
- Observer: Number of objects that depend on another object; how the dependent objects stay up to date
- State: states of an object
- Strategy: an algorithm
- Template Method: steps of algorithm
- Visitor: operations that can be applied to object(s) without changing their class(es)
ClassName obj = new ClassName();