| 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 from its 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 changing Ying 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 |
List several references:
Codeguru _ patterns
Design Patterns in. net
Design Patterns in C # And. net
The design patterns Java companion
Tutorials about patterns