Programming Design Patterns
- Reusable - named blueprints you can drop into many designs
- Repeatable - solve the same core problem across projects
- Contextual - apply only when a specific situation and constraints exist
- Clear Trade-offs - spell out exactly what you gain and what are the costs
- Scale-friendly - their payoff grows as the codebase grows
Behavioral Design Patterns
How objects communicate with each other strategy_pattern state_pattern Iterator_pattern observer_pattern command_pattern
Structural Design Patterns
How objects relate to each other decorator_pattern composite_pattern adaptor_pattern
Creational Design Patterns
How objects are created singleton_pattern factory_pattern
- Facade – Simplifies the interface of a set of classes.
- Proxy – Wraps an object to control access to it.
- Template Method – Subclasses decide how to implement steps in an algorithm.
- Abstract Factory – Allows a client to create families of objects without specifying their concrete classes.
Not categorized
facade_pattern template_method_pattern proxy_pattern bridge_pattern builder_pattern chain_of_responsibility_pattern flyweight_pattern interpreter_pattern mediator_pattern prototype_pattern memento_pattern visitor_pattern