February 23, 2020

Design Pattern(s)

1. Creational Patterns

  Abstract Factory : Creates an instance of several families of classes

  Builder : Separates object construction from its representation

  Factory Method : It is tedious when the client needs to specify the class name while creating the objects. So, to resolve this problem, we can use the Factory Method design pattern. It provides the client with a simple way to create the object.

  Prototype : A fully initialized instance to be copied or cloned

  Singleton : A class of which only a single instance can exist

  BuilderSeparates object construction from its representation

2. Structural Patterns

  Adapter ==> Match interfaces of different classes

  Bridge ==> Separates an object’s interface from its implementation

  Composite ==> A tree structure of simple and composite objects

  Decorator ==> Add responsibilities to objects dynamically

  Facade ==> A single class that represents an entire subsystem

  Flyweight ==> A fine-grained instance used for efficient sharing

  Proxy ==> An object representing another object



3. Behavioral Patterns

   Chain of Resp. ==> A way of passing a request between a chain of objects

  Command ==> Encapsulate a command request as an object

  Interpreter ==> A way to include language elements in a program

  Iterator ==> Sequentially access the elements of a collection

  Mediator ==> Defines simplified communication between classes

  Memento ==> Capture and restore an object's internal state

  Observer ==> A way of notifying change to a number of classes

  State ==> Alter an object's behavior when its state changes

  Strategy ==> Encapsulates an algorithm inside a class

  Template Method ==> Defer the exact steps of an algorithm to a subclass

  Visitor ==> Defines a new operation to a class without change

No comments: