Javascript Design Pattern
Types of Design Patterns
Creational
🏠 Simple Factory🏭 Factory Method Creates an instance of several derived classes🔨 Abstract Factory Creates an instance of several families of classes👷 Builder Separates object construction from its representation🐑 Prototype A fully initialized instance to be copied or cloned💫 Singleton A class of which only a single instance can exist
Structural
🔌 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
🔗 Chain of Responsibility 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🏃 Visitor Defines a new operation to a class without change💡 Strategy Encapsulates an algorithm inside a class💢 State Alter an object's behavior when its state changes📒 Template Method Defer the exact steps of an algorithm to a subclass