''Design Patterns '' by the GangOfFour * http://javadesign-patterns.blogspot.com * http://www.dofactory.com/Patterns/Patterns.aspx ''DesignPatterns are recurring solutions to software design problems you find again and again in RealWorld ApplicationDevelopment." CreationalPatterns * 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 StructuralPatterns * 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 BehavioralPatterns * 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