Design Patterns – Software development

Design Patterns – Software development

Design patterns are reusable solution that solve software design.

The 23 Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are categorized in three groups: Creational, Structural, and Behavioral

– Reference links –

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 of which only a single instance can exist


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


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

Leave a Reply

Your email address will not be published. Required fields are marked *