Java is associated with a number of Design Patterns, which are subdivided into three groups, creational, structural, and behaviour. Below is a list of all patterns in Java and a brief description of each. Throughout the next few weeks I will provide coded examples for each individual pattern. Stay tuned!
Creational Patterns
Abstract Factory - Various methods to make various objects various ways.
Builder - Make and return one object various ways.
Factory Method – Methods to make and return components of one object various ways.
Prototype - Make new objects by cloning the objects which you set as prototypes.
Singleton - A class distributes the only instance of itself.
Structural Patterns
Adapter - A class extends another class and takes in an object, and makes the taken object behave like the extended class.
Bridge - An abstraction and implementation are in different class hierarchies.
Composite - Assemble groups of objects with the same signature.
Decorator - One class takes in another class, both of which extend the same abstract class, and adds functionality.
Façade - One class has a method that performs a complex process calling several other classes.
Flyweight - The reusable and variable parts of a class are broken into two classes to save resources.
Proxy - One class controls the creation of and access to objects in another class.
Behaviour Patterns
Chain of Responsibility - A method called in one class can move up a series to find an object that can properly execute the method.
Command - An object encapsulates everything needed to execute a method in another object.
Interpreter- Define a macro language and syntax, parsing input into objects which perform the correct opertaions.
Iterator - One object can traverse all of the elements of another object.
Mediator - An object distributes communication between two or more objects.
Memento - One object stores another objects state.
Observer - An object notifies other object(s) if it changes.
State - An object appears to change its` class when the class it passes calls through to switches itself for a related class.
Strategy - An object controls which of a family of methods is called. Each method is in its` own class that extends a common base class.
Template - An abstract class defines various methods, and has one non-overridden method which calls the various methods.
Visitor - One or more related classes have the same method, which calls a method specific for themselves in another class.
Wednesday, September 26, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment