Design Patterns by the GangOfFour
''DesignPatterns are recurring solutions to software design problems you find again and again in RealWorld ApplicationDevelopment."
- AbstractFactoryPattern
- Creates an instance of several families of classes
- BuilderPattern
- Separates object construction from its representation
- FactoryMethodPattern
- Creates an instance of several derived classes
- PrototypePattern
- A fully initialized instance to be copied or cloned
- SingletonPattern
- A class of which only a single instance can exist
- AdapterPattern
- Match interfaces of different classes
- BridgePattern
- Separates an object’s interface from its implementation
- CompositePattern
- A tree structure of simple and composite objects
- DecoratorPattern
- Add responsibilities to objects dynamically
- FacadePattern
- A single class that represents an entire subsystem
- FlyweightPattern
- A fine-grained instance used for efficient sharing
- ProxyPattern
- An object representing another object
- ChainOfResponsibilityPattern
- A way of passing a request between a chain of objects
- CommandPattern
- Encapsulate a command request as an object
- InterpreterPattern
- A way to include language elements in a program
- IteratorPattern
- Sequentially access the elements of a collection
- MediatorPattern
- Defines simplified communication between classes
- MementoPattern
- Capture and restore an object's internal state
- ObserverPattern
- A way of notifying change to a number of classes
- StatePattern
- Alter an object's behavior when its state changes
- StrategyPattern
- Encapsulates an algorithm inside a class
- TemplateMethodPattern
- Defer the exact steps of an algorithm to a subclass
- VisitorPattern
- Defines a new operation to a class without change
CategoryRoadMap CategoryPattern CategoryDesignIssues