- DoubleLinkedList
- HashTable
- LinkedList
- PriorityQueue
- Queue
- Set
- Stack
- Trie
- Binary Search Tree
- Heap
- Graphs
Type | Description |
---|---|
Class | |
Factory Method ✅ | This makes an instance of several derived classes based on interfaced data or events. |
Object | |
Abstract Factory ✅ | Creates an instance of several families of classes without concrete classes. |
Builder ✅ | Separates object construction from its representation, always creates the same of object. |
Prototype ✅ | A fully initialized instance used for copying or cloning. |
Singleton ✅ | A class with only a single instance with global access point |
Type | Description |
---|---|
Class | |
Adapter ✅ | Match interfaces of different classes therefore classes can work together incompatible interfaces. |
Object | |
Adapter ✅ | Match interfaces of different classes therefore classes can work together incompatible interfaces. |
Bridge ✅ | Separates an object's interface from its implementation so the two can independently. |
Composite ✅ | A structure of simple and composite objects which makes the total object than just the sum of its parts. |
Decorator ✅ | Dynamically add alternate processing to objects. |
Facade ✅ | A single class that hides the complexity of an entire subsystem. |
Flyweight ✅ | A fine-grained instance used for efficient sharing of information that contained elsewhere. |
Proxy ✅ | A place holder object representing the true object. |
Type | Description |
---|---|
Class | |
Interpreter | A way to include language elements in an application to match the grammar of the intended language. |
Template Method ✅ | Creates the shell of an algorithm in a method, then defer the exact steps to a subclass. |
Object | |
Chain of Responsibility ✅ | A way of passing a request between a chain of objects to find the object that can handle the request. |
Command ✅ | Encapsulate a command request as an object to enable, logging and/or queuing of requests, and provides error - handling for unhandled requests. |
Iterator ✅ | Sequentially access the elements of a collection without knowing the inner workings of the collection. |
Mediator ✅ | Defines simplified communication between classes to prevent a group of classes from referring explicitly to each other. |
Memento ✅ | Capture an object's internal state to be able to restore it later. |
Observer ✅ | A way of notifying change to a number of classes to ensure consistency between the classes. |
State ✅ | Alter an object's behavior when its state changes. |
Strategy ✅ | Encapsulates an algorithm inside a class separating the selection from the implementation. |
Visitor ✅ | Adds a new operation to a class without changing the class. |
- Data Structures and Algorithms in JavaScript - Full Course for Beginners by FreeCodeCamp
- Data Structures and Algorithms with JavaScript Kindle Edition by Michael McMillan - 2014
- Learning JavaScript Design Patterns - Addy Osmani
- Pro JavaScript Design Patterns - Diaz, Dustin, Harmes, Ross
- https://www.geeksforgeeks.org
- https://www.tutorialspoint.com/design_pattern