What is Design pattern?
A design pattern is a general, reusable solution to a commonly occurring problem.
Out of all the patterns we are going to look few of them below.
Creational
Singletone Pattern
Ensure a class only has one instance, and provide a global point to access it.
Prototype Pattern
Specify the kinds of object to create using prototypical instance, and create new objects by copying the prototype.
Factory Pattern
Define an interface for creating an object, but let subclasses decide which class to instantiate.
Builder Pattern
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
Structural
Adapter Pattern
Convert the interface of a class into another client except.
Adapter lets classes work together that couldn’t because of incompatible interfaces.
Proxy Pattern
Provide a placeholder for another object to control to access to it.
Composite Pattern
Compose objects into tree structures to represent part-whole hierarchies. Composite let clients treat individual objects and compositions of objects uniformly.
Decorator Pattern
Attach additional responsibilities to an object dynamically. Decorator provide a flexible alternative to subclassing for extending functionality.
Behavioural
Chain of responsibility
Avoid coupling the sender of a request to its receiver by giving more than one object a change to handle the request.
Chain the receiving objects and pass the request along the chain.
Command Pattern
Encapsulate a request as an object, there by letting you parameterise with different requests, queue or log requests and support undoable operations.
Iterator Pattern
Provide a way to access the element of an aggregate object sequentially without exposing its underlying representation.
Observer Pattern
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Strategy Pattern
Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm very independently from clients that use it.
Top comments (0)