Types of design patterns :
Fundamental patterns
- Delegation pattern
- Functional design
- Interface pattern
- Proxy pattern
- Immutable pattern
- Marker interface pattern
- Low-Coupling / High-Cohesion pattern
Creational patterns
- Abstract factory pattern
- Anonymous subroutine objects pattern
- Builder pattern
- Factory method pattern
- Lazy initialization pattern
- Prototype pattern
- Singleton pattern
Structural patterns
- Adapter pattern
- Bridge pattern
- Composite pattern
- Container pattern
- Decorator pattern
- Extensibility pattern
- Facade pattern
- Flyweight pattern
- Proxy pattern
- Pipes and filters
- Private class data pattern
Behavioral patterns
- Chain of responsibility pattern
- Command pattern
- Event listener
- Interpreter pattern
- Iterator pattern
- Mediator pattern
- Memento pattern
- Observer pattern
- State pattern
- Strategy pattern
- Template method pattern
- Visitor pattern
- Single-serving visitor pattern
- Hierarchical visitor pattern
Concurrency patterns
- Action at a distance pattern
- Balking pattern
- Double checked locking pattern
- Guarded suspension
- Leaders/followers pattern
- Read write lock pattern
- Scheduler pattern
- Thread pool pattern
Architectural patterns
- Model-view-controller
- Presentation-abstraction-control
- Client-server
Reference:
Bruce Eckel's Thinking in Patterns