Design patterns:
Factory pattern
Gateway pattern
Proxy pattern
Repository pattern
Null pattern
Command pattern
Active object pattern
Template pattern
Strategy pattern
Facade pattern
Observer pattern
Mediator pattern
Singleton pattern
Monostate pattern
Abstract server pattern
Adapter pattern
Bridge pattern
Composite pattern
Visitor pattern
State pattern
Decorator pattern