forked from alexbowe/cardgen
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathintents.txt
68 lines (46 loc) · 3.43 KB
/
intents.txt
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Abstract Factory:
Provides an interface for creating families of related or dependent objects without specifying their concrete classes.
Builder:
Separates the construction of a complex object from its representation so that the same construction process can create different representations.
Factory Method:
Defines an interface for creating an object, but lets subclasses decide which class to instantiate. Lets a class defer instantiation to subclasses.
Prototype:
Specifies the kinds of objects to create using an instance, and creates new objects by copying this instance.
Singleton:
Ensures a class has only one instance, and provides a global point of access to it.
Adapter:
Converts the interface of a class into another interface clients expect. Lets classes work together that couldn't otherwise because of incompatible interfaces.
Bridge:
Decouples an abstraction from its implementation so that the two can vary independently.
Composite:
Organises objects into tree structures to represent whole-part hierarchies. This pattern lets clients treat individual objects and object compositions uniformly.
Decorator:
Attaches additional responsibilities to an object dynamically. Provides a flexible alternative to subclassing for extending functionality.
Facade:
Provides a unified interface to a set of interfaces in a subsystem. Defines a higher-level interface that makes the subsystem easier to use.
Flyweight:
Uses sharing to support large numbers of fine-grained objects efficiently.
Proxy:
Provides a surrogate or placeholder for another object to control access to it.
Chain of Responsibility:
Avoids coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.
Command:
Encapsulates a request as an object, thereby letting you parameterise clients with different requests, queue or log requests, and support undoable operations.
Interpreter:
Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.
Iterator:
Provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.
Mediator:
Defines an object that encapsulates how a set of objects interact. Promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.
Memento:
Without violating encapsulation, capture and externalise an object's internal state so that the object can be restored to this state later.
Observer:
Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
State:
Allows an object to alter its behaviour when its internal state changes. The object will appear to change its class.
Strategy:
Defines a family of algorithms, encapsulates each one, and makes them interchangeable. Lets the algorithm vary independently from the clients that use it.
Template Method:
Defines the skeleton of an algorithm in an operation, deferring some steps to subclasses. Lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.
Visitor:
Represents an operation to be performed on the elements of an object structure. Lets you define a new operation without changing the classes of the elements on which it operates.