diff --git a/abstract-factory/index.md b/abstract-factory/index.md index 7db699a99..f824f7e0e 100644 --- a/abstract-factory/index.md +++ b/abstract-factory/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Kit + **Intent:** Provide an interface for creating families of related or dependent objects without specifying their concrete classes. diff --git a/adapter/index.md b/adapter/index.md index be9a87228..36a2a0ad3 100644 --- a/adapter/index.md +++ b/adapter/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Wrapper + **Intent:** Convert the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces. diff --git a/bridge/index.md b/bridge/index.md index 1ad969183..4a1d0bcbb 100644 --- a/bridge/index.md +++ b/bridge/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Handle/Body + **Intent:** Decouple an abstraction from its implementation so that the two can vary independently. diff --git a/command/index.md b/command/index.md index c9790819f..3fa774d8f 100644 --- a/command/index.md +++ b/command/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Action, Transaction + **Intent:** Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. diff --git a/decorator/index.md b/decorator/index.md index 55849fce6..61eeeac60 100644 --- a/decorator/index.md +++ b/decorator/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Wrapper + **Intent:** Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. diff --git a/factory-method/index.md b/factory-method/index.md index fee6b6e83..3568a1109 100644 --- a/factory-method/index.md +++ b/factory-method/index.md @@ -10,6 +10,8 @@ tags: - Gang Of Four --- +**Also known as:** Virtual Constructor + **Intent:** Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. diff --git a/iterator/index.md b/iterator/index.md index ecfdb1b2a..fe6c1fe35 100644 --- a/iterator/index.md +++ b/iterator/index.md @@ -10,6 +10,8 @@ tags: - Gang Of Four --- +**Also known as:** Cursor + **Intent:** Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation. diff --git a/memento/index.md b/memento/index.md index 056af8b26..f299506e0 100644 --- a/memento/index.md +++ b/memento/index.md @@ -9,6 +9,8 @@ tags: - Gang Of Four --- +**Also known as:** Token + **Intent:** Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later. diff --git a/observer/index.md b/observer/index.md index fedb4cb8c..ea1667ef5 100644 --- a/observer/index.md +++ b/observer/index.md @@ -10,6 +10,8 @@ tags: - Gang Of Four --- +**Also known as:** Dependents, Publish-Subscribe + **Intent:** Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. diff --git a/proxy/index.md b/proxy/index.md index f863a96a5..baa759600 100644 --- a/proxy/index.md +++ b/proxy/index.md @@ -10,6 +10,8 @@ tags: - Difficulty-Intermediate --- +**Also known as:** Surrogate + **Intent:** Provide a surrogate or placeholder for another object to control access to it. diff --git a/state/index.md b/state/index.md index b743cb8be..3beeb480a 100644 --- a/state/index.md +++ b/state/index.md @@ -10,6 +10,8 @@ tags: - Gang Of Four --- +**Also known as:** Objects for States + **Intent:** Allow an object to alter its behavior when its internal state changes. The object will appear to change its class. diff --git a/strategy/index.md b/strategy/index.md index 120dd64d4..288276015 100644 --- a/strategy/index.md +++ b/strategy/index.md @@ -10,6 +10,8 @@ tags: - Gang Of Four --- +**Also known as:** Policy + **Intent:** Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.