What are design patterns?
The Design patterns are recurring solution to the recurring problems in the software architecture. There are 3 basic classification of patterns Behavioral patterns,Creational, and Structural patterns.
Creational Patterns:
- Abstract Factory:- This Creates an instance of the several families of classes.
- Builder :- It Separates object construction from its representation.
- Factory Method:- It Creates an instance of the several derived classes.
- Prototype:- The fully initialized instance to be cloned or copied.
- Singleton:- The class in which only a single instance can be exist.
Structural Patterns:
- Adapter:-In this interfaces of different classes are matched.
- Bridge:-It Separates an object's interface from its implementation.
- Composite:-A tree structure of the simple and composite objects.
- Decorator :-It Add authorities to the objects dynamically.
- Façade:-The single class which represents the whole subsystem.
- Flyweight:-It is a fine-grained instance used for effective sharing.
- Proxy:- The object representing the other object.
Behavioral Patterns:
- Mediator:-It Defines the simplified communication between classes.
- Memento:-It Captures & restore an object's internal state.
- Interpreter:-A way to include the language elements in the program.
- Strategy:-It Encapsulates the algorithm inside a class.
- Observer:-A way of notifying change to a no. of classes.
- Template Method:-Defer the exact points of an algorithm to a subclass.
- Visitor:-It Defines a new operation to a class without change.
- Iterator:-It Sequentially access the elements of a collection.
- Chain of Resp:-A way of passing a request b/w a chain of objects.
- Command:-It Encapsulate a command request as an object.
- State:-whenever its state changes alter an object's behavior.