Design patterns types

Creational Patterns
  • Abstract Factory:- Creates an instance of several families of classes
  • Builder: - Separates object construction from its representation
  • Factory Method:- Creates an instance of several derived classes
  • Prototype:- A fully initialized instance to be copied or cloned
  • Singleton:- A class in which only a single instance can exist 

Structural Patterns  

  • Adapter:-Match interfaces of different classes
  • Bridge:-Separates an object’s abstraction from its implementation.
  • Composite:-A tree structure of simple and composite objects.
  • Decorator:-Add responsibilities to objects dynamically.
  • Façade:-A single class that represents an entire subsystem.
  • Flyweight:-A fine-grained instance used for efficient sharing.
  • Proxy:-An object representing another object.

Behavioral Patterns  

  • Mediator:-Defines simplified communication between classes.
  • Memento:-Capture and restore an object's internal state.
  • Interpreter:- A way to include language elements in a program.
  • Iterator:-Sequentially access the elements of a collection.
  • Chain of Resp: - A way of passing a request between a chain of objects.
  • Command:-Encapsulate a command request as an object.
  • State:-Alter an object's behavior when its state changes.
  • Strategy:-Encapsulates an algorithm inside a class.
  • Observer: - A way of notifying change to a number of classes.
  • Template Method:-Defer the exact steps of an algorithm to a subclass.
  • Visitor:-Defines a new operation to a class without change. 
Courtesy: Sheela