Gang of four

  • Class pattern
  • Object pattern
  • Abstract factory pattern: Group of factories
  • Prototype pattern: Clone method/interface
  • Singleton pattern
  • Multiton pattern (flyweight): Multiple objects based on key (getInstance(key), using a hashmap)

Class/object composition

  • Adapter/Wrapper: Adapter realizes interfaces, uses method of external class
  • Bridge: Hierarchy of abstractions and implementations
  • Facade: Unified, simplified interface to complex operations involving multiple classes
  • Decorator: Dynamically add/remove methods to an object
  • Flyweight: Large number of object required, where information is shared
  • Composite: Tree-structure to represent part-whole hierarchies (treat part and whole uniformly)
  • Proxy: Class acting as interface to something else.
  • Template method: Abstract class which implements invariant code and helper method, while specific implementations are in derived classes
  • Strategy: Defines interface for a method and concrete implementations. Strategies could be choosen on runtime.
  • Iterator: Access of elements in container without exposing underlying representation
  • Interpreter: Using Composite e.g. with Terminal/NonTerminal class representations e.g. to implement an abstract syntax tree
  • design_patterns/gof.txt
  • Last modified: 2019/11/09 22:13
  • by phreazer