-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJS-design-patterns
42 lines (33 loc) · 1.68 KB
/
JS-design-patterns
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# JavaScript Design Patterns
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
## Links
- <https://www.dofactory.com/javascript/design-patterns>
- <https://sourcemaking.com/design_patterns>
## Creational Patterns
- `Abstract Factory` Creates an instance of several families of classes
- `Builder` Separates object construction from its representation
- `Factory Method` Creates an instance of several derived classes
- `Prototype` A fully initialized instance to be copied or cloned
- `Singleton` A class of which only a single instance can exist
## Structural Patterns
- `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 Patterns
- `Chain of Resp.` 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
- `State` Alter an object's behavior when its state changes
- `Strategy` Encapsulates an algorithm inside a class
- `Template` Method Defer the exact steps of an algorithm to a subclass
- `Visitor` Defines a new operation to a class without change