Design Patterns

aaeaaqaaaaaaaakaaaaajgiyntk1owiylte0mtytndhjmc1hyzg1lwy5ytrlmgzhzwjlzg

Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides are the authors of the book “Design Patterns: Elements of Reusable Object-Oriented Software”, they are known as the Gang of fourThe book describes development techniques and provides 23 design patterns.

A design pattern is a general repeatable solution to a commonly occurring problem in software design. It is a template that can be used in different situations.

The patterns are clasified in three types:

  • Creational: They are all about class instantiacion.
    • Abstract Factory
    • Builder
    • Factory Method
    • Prototype
    • Singleton
  • Structural: They are all about class and object composition.
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy
  • Behavioral: They are all about class’s object communication.
    • Chain of Responsibility
    • Command
    • Interpreter
    • Iterator
    • Mediator
    • Memento
    • Observer
    • State
    • Strategy
    • Template Method
    • Visitor

Source