Design patterns.

 

These are also famous as gang of four design patterns

Creational Design Patterns : for the way objects are created

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 Design Pattern : for the way objects organsed in the datastructure

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 Design Patterns :for the way objects interact each other

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 v