Design Patterns
A software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. Definition
Creation Patterns
Creation design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. Definition
- Singleton
- Builder
- Factory
- Abstract Factory
- Prototype
Behavioral Pattern
Behavioral design patterns are design patterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility in carrying out communication. Definition
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
Structural Pattern
Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient. Definition
- Adapter Design
- Bridge Design
- Composite
- Decorator
- Facade
- FlyWeight
- Proxy