Design Patterns


Other Refcardz


thumb

Spring Configuration

Features Dependency Injection in a Nutshell, Configuring Spring with XML, Namespaces, Annotations, Hot Tips and more...

"From a value and accuracy perspective, this card is spot on." --Ryan Breidenbach


thumb

GWT Style, Configuration and JSNI Reference

Features Official GWT Web Sites, Styling Widgets with CSS, GWT Module Configuration, JavaScript Native Interface, Hot Tips and more...


thumb

Silverlight 2

Features include the Silverlight Plug-in, Calling Managed Code from JavaScript, Using Managed Code to Manage the HTML DOM, Accessing the User’s Browser Window, Hot Tips and more.


thumb

Groovy

Features include Groovy/Java Integration, Language Elements, Operators, Collective Datatypes, Meta Programming, Hot Tips and more.


refcard cover
Click Here To
Download PDF


Overview

Design patterns provide a fundamental foundation to building maintainable and scalable software. Understanding how the patterns work, why they provide a benefit, and when to use them helps to ensure that software is built from reusable object oriented components. This Refcard provides a quick reference to the original 23 Gang of Four design patterns, as listed in the book Design Patterns: Elements of Reusable Object-Oriented Software. Each pattern includes class diagrams, explanation, usage information, and a real world example.


About the Author

The product of two computer programmers, Jason McDonald wrote his first application in BASIC while still in elementary school and has been heavily involved in software ever since. He began his software career when he found himself automating large portions of one of his first jobs. Finding his true calling, he quit the position and began working as a software engineer for various small companies where he was responsible for all aspects of applications, from initial design to support. He has roughly 11 years of experience in the software industry and many additional years of personal software experience during which he has done everything from coding to architecture to leading and managing teams of engineers. Through his various positions he has been exposed to design patterns and other architectural concepts for years. Jason is the founder of the Charleston SC Java Users Group and is currently working to help found a Charleston chapter of the International Association of Software Architects

Personal Blog

http://www.mcdonaldland.info/

Charleston SC Java Users Group
http://www.charlestonscjug.org

Comments

Brian Hainey replied on Wed, 2008/06/18 - 5:33am

Hi

I'm disappointed that some of the diagrams in this RefCard do not strictly use UML notation.
Take the 'Chain of Responsibility' diagram. The relationship between concrete handlers and the handler interface is operation inheritance so a UML implements relationship should be used. The diagram in the card uses the same relationship as that between the client and the Handler interface i.e. a directed association. Also, the arrowheads on the directed association relationships appear to have filled arrow heads and not open arrow heads as they should be if UML notation is used. The diagrams for other patterns in the refcard do show inheritance correctly but again the directed associations have filled arrow heads.
 

If the intention was not to stick strictly to UML notation then a statement should be made that faux UML is being used otherwise, as a matter of urgency, the diagrams should be corrected.

Brian

 

Jason McDonald replied on Wed, 2008/06/18 - 10:22am in response to: bh95582

Sorry about that Brian - these were oversights and we are working to correct them now. Faux anything was never the goal...

The Chain of Responsibility and a couple aggregation symbols are strictly errors. As for the difference between the aggregation versus composition symbols, the distinction is pretty subtle but there are a couple places that it was incorrect. These are also being corrected right now. 

Once the new copy comes out, please let us know if you see any problems with it. 

Brian Hainey replied on Wed, 2008/06/18 - 10:38am

OK

Let me know when the new version is available.

Brian

 

Jill Tomich replied on Wed, 2008/06/18 - 12:55pm in response to: bh95582

Hi Brian,

The Design Patterns refcard has been updated, and is now available. To access it, hit your download link again. If you have any problems, please let me know by emailing me at refcardz@dzone.com.

Thanks again for the feedback.

-- Jill

Jason McDonald replied on Wed, 2008/06/18 - 7:53pm

There are a lot more comments here:
http://refcardz.dzone.com/announcements/design-patterns

 

MaxHeadroom replied on Tue, 2008/07/08 - 3:38am in response to: finn0013

Apparently, design patterns were used when I was created. Lol Lol Lol.

MaxHeadroom replied on Tue, 2008/07/08 - 4:12am

I can't get the following download link to work for the DP ref card: http://refcardz.dzone.com/assets/download/refcard/....

Matthew Schmidt replied on Tue, 2008/07/08 - 8:31am in response to: MaxHeadroom

Hi Max.  Please shoot me a quick email at matt at dzone.com and I'll be happy to help you debug this.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.