March 27, 2004
Classifying Design Patterns
In reviewing Design Patterns and following Data and Object Factory's Patterns I figured I'd share a classification of the GOF design patterns.
| Creational Patterns | How to make an object. | ||||||
| Class | |||||||
| Factory Method | Makes an instance of several derived classes based on interfaced data or events. | ||||||
| Object | |||||||
| Abstract Factory | Creates an instance of several families of classes without detailing concrete classes. | ||||||
| Builder | Separates object construction from its representation, always creates the same type of object. | ||||||
| Prototype | A fully initialized instance used for copying or cloning. | ||||||
| Singleton | A class with only a single instance with global access points. | ||||||
| Structural Patterns | The building blocks of objects | ||||||
| Class | |||||||
| Adapter | Match interfaces of different classes therefore classes can work together despite incompatible interfaces | ||||||
| Object | |||||||
| Adapter | Match interfaces of different classes therefore classes can work together despite incompatible interfaces | ||||||
| Bridge | Separates an object's interface from its implementation so the two can vary independently | ||||||
| Composite | A structure of simple and composite objects which makes the total object more than just the sum of its parts. | ||||||
| Decorator | Dynamically add alternate processing to objects. | ||||||
| Facade | A single class that hides the complexity an entire subsystem. | ||||||
| Flyweight | A fine-grained instance used for efficient sharing of information contained elsewhere. | ||||||
| Proxy | A place holder object representing the true object | ||||||
| Behavioral Patterns | the way objects play and work. | ||||||
| Class | |||||||
| Interpreter | A way to include language elements in a program to match the grammer of the intended language. | ||||||
| Template Method |
Create the shell of an algorithm in a method, then defer the exact steps to a subclass. | ||||||
| Object | |||||||
| Chain of Responsibility |
A way of passing a request between a chain of objects to find the object that can handle the request. | ||||||
| Command | Encapsulate a command request as an object to enable, logging and/or queuing of requests, and provides error-handling for unhandled requests. | ||||||
| Iterator | Sequentially access the elements of a collection without knowing the inner workings of the collection. | ||||||
| Mediator | Defines simplified communication between classes to prevent a group of classes from referring explicitly to each other. | ||||||
| Memento | Capture an object's internal state to be able to restore it later. | ||||||
| Observer | A way of notifying change to a number of classes to ensure consistency between the classes. | ||||||
| State | Alter an object's behavior when its state changes | ||||||
| Strategy | Encapsulates an algorithm inside a class separating the selection from the implementation | ||||||
| Visitor | Adds a new operation to a class without changing the class | ||||||
Posted by Elyse at March 27, 2004 12:51 PM
| TrackBack
Comments
A wonderful classification. You did a great job putting all the information together. Thanks!
Natalie
Did you miss?
IT Governance, the decisions needs by whom
Finally passed the test
Managing in light of McGregor's Theory X and Theory Y
CMMI
Kicking HIT Leadership Up a Notch
That's just some mumbo jumbo project management BS
Outcomes - The tactic to get to the strategy
Nurse Call, VOIP, and Wi-Fi: Its just cool when things come together!
Finally passed the test
Managing in light of McGregor's Theory X and Theory Y
CMMI
Kicking HIT Leadership Up a Notch
That's just some mumbo jumbo project management BS
Outcomes - The tactic to get to the strategy
Nurse Call, VOIP, and Wi-Fi: Its just cool when things come together!
Archives
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
August 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
November 2005
October 2005
September 2005
August 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
August 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
November 2005
October 2005
September 2005
August 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
Blogs
Cafe au Lait
Joel on Software
David Ross
Edward Prevost
Martin Fowler
The Health Care Blog
The Tales of Hoffman
The Business Word
Medical Rants
Christina's Considerations
Paul Levy
HIS Talk
Appropriate IT
Candid CIO
Joel on Software
David Ross
Edward Prevost
Martin Fowler
The Health Care Blog
The Tales of Hoffman
The Business Word
Medical Rants
Christina's Considerations
Paul Levy
HIS Talk
Appropriate IT
Candid CIO
Subscribe
© Copyright 2003 - 2007 Elyse Nielsen
RSS feed




