Wednesday, February 25, 2015

[Architecture]: Gang of Four (GoF) Design Patterns




The Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are categorized in three groups: Creational, Structural, and Behavioral. Here you will find information on these important 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