Software design pattern
Appearance
The first widely seen catalogue of software design patterns was Design Patterns: elements of reusable object-oriented software by the "gang of four", Gamma, Helm, Johnson and Vlissides.
Creational patterns
- Abstract factory pattern
- Builder pattern
- Factory method pattern
- Prototype pattern
- Singleton pattern - an object which is unique in it's kind in the whole system
Structural patterns
- Adapter pattern
- Bridge pattern
- Composite pattern - a pattern to build large structures
- Decorator pattern
- Facade pattern
- Flyweight pattern
- Proxy pattern
Behavioral patterns
- Chain of responsibility pattern
- Command pattern
- Interpreter pattern
- Iterator pattern
- Mediator pattern
- Memento pattern
- Observer pattern - one object acts when some value of another objects changes
- State pattern
- Strategy pattern - make an algorithm pluggable
- Template method pattern
- Visitor pattern
- Hierarchical visitor pattern
Concurrency patterns
- Balking pattern
- Guarded suspension
- Scheduler pattern
- Read write lock pattern
- Double checked locking pattern
- Disable job requests while running job pattern
RealTime patterns
User interface patterns
- User interface pattern
- Dynamic user interface pattern
- Static user interface pattern
- Disable job requests while running job pattern
Life cycle patterns
Social
Self-improvement patterns
Related Topics
External Links
Credit
The list of design patterns is entirely based on a wiki page http://c2.com/cgi/wiki?CategoryPattern.