33
Design Pattern in Javascript
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.
Ensure a class only has one instance, and provide a global point to access it.
Specify the kinds of object to create using prototypical instance, and create new objects by copying the prototype.
Define an interface for creating an object, but let subclasses decide which class to instantiate.
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
Convert the interface of a class into another client except.
Adapter lets classes work together that couldn’t because of incompatible interfaces.
Provide a placeholder for another object to control to access to it.
Compose objects into tree structures to represent part-whole hierarchies. Composite let clients treat individual objects and compositions of objects uniformly.
Attach additional responsibilities to an object dynamically. Decorator provide a flexible alternative to subclassing for extending functionality.
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.
Encapsulate a request as an object, there by letting you parameterise with different requests, queue or log requests and support undoable operations.
Provide a way to access the element of an aggregate object sequentially without exposing its underlying representation.
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm very independently from clients that use it.
33