Patterns are part of the engine that powers a component.
Creational
Abstract the instantiation process
- Make the system independent of how components are created
- Class pattern: Uses inheritance to vary the class’ instantiation
- Creational Pattern: Delegate instantiation
- Composition over Inheritance
-
Factory
Creating families of components
-
Prototype
Cloning the concrete component
-
Builder
Construction kit
Structural
Concerned with how components are composed to form larger structures
-
Decorator
Adds a little something
-
Adapter
Connects incompatible components
-
Bridge
Make abstraction and implementation exchangeable
-
Facade
The entry to a subsystem
Behavioral
Concerned with algorithms and the assignment of responsibilities
- Patterns of communication between behaviors
- Characterize complex control flow that’s difficult to follow at run-time
- Shift focus from flow of control to how things are connected