Delegation pattern Functional design Immutable interface Interface Marker interface Property container Event channel Abstract factory Builder Factory method Lazy initialization Multiton Object pool Prototype Resource acquisition is initialization (RAII) Singleton Adapter / Wrapper Bridge Composite Decorator Facade Front controller Flyweight Proxy Chain of responsibility Command Interpreter Iterator Mediator Memento Null Object Observer Servant Specification State Strategy Template method Visitor Simple Policy Event listener Single-serving visitor Hierarchical visitor 