Software design patterns are general and resuable solutions to commonly problem in a given context in software design.
Creation Design Patterns
- Factory Method
- Abstract Factory
- Prototype
- Builder
- Singleton
Structural Design Patterns
- Adapter
- Composite
- Bridge
- Decorator
- Facade
- Flyweight
- Proxy