A Abstract Factory "To construct objects by criterion and preconfigured type"
Adapter "To access a foreign implementation of native functionality"
Algebraic Hierarchy "To promote object type"
B Bridge "To separate choice of implementation from interface"
C Caching pool "TBD "
Command "To separate request from execution"
Composite "To traverse a recursive structure uniformly"
D Decorator "To enhance discrete functionality dynamically"
Double Dispatch Idiom "To resolve multiple-object functionality among the objects"
Dynamic Pluggable Factory "To create objects by unique key"
Dynamic Pluggable Factory (prototypes) "To create objects by example"
F Factory Method (singleton) "To construct objects by fixed type criterion"
Flyweight Pool (reference count) "To prevent redundant creation of global resources"
I Invisible Flyweight Pool (reference count) "To globalize the implementation of shareable local Resources"
L Lazy Copy idiom (copy on write) "To defer the duplication of temporarily shared resource"
M Metamorphic Bridge "To configure internal representation automatically"
O Observer "To synchronize state change"
Observer (inheritance) "To synchronize state change"
Order of Initialization "To prioritize the initialization of global resources"
P Policy (Traits) "To parameterize object behavior on partial functionality"
Prototype "To create objects by example"
R Rectangular Inheritance of Association Idiom "To encapsulate heterogeneous collection management"
Recursive Object-Structure Idiom "To compose a tree structure"
Reference-counting idiom "To time the disposal of a shared resource"
Reference-Counting Proxy ("Counted Body") "To share hidden resource implementation"
Reference-Counting Smart Pointer "To control shared Resource lifespan automatically"
S Singleton "To encapsulate a globally-available resource"
State "To switch among alternative implementations of an entire functionality"
Startup Registration idiom "To let the default object population be registered *spontaneously*"
Strategy "To reconfigure discrete functionality"
T Template Method "To outline and guarantee the execution of a generic process"
V Visitor "To assign discrete functionality by object type"


Print this section.