Software Design Patterns

Software Design Patterns

This site is a work in progress to clarify the Software Design Patterns defined by the Gang of Four.

The purpose of this site is to help show how patterns can be used in real software applications. Most sites and books I have read use samples of building maze games, birds, pizzas, etc, but most of us are building applications that are more concerned with customers, databases, and UI's. I'm trying be bridge the gap between these fantasy examples and how to use these patterns in real life.

If you've read Design Patterns Elements of Reusable Object-Oriented Software (GoF), and wonder how these patterns can fit into your real world applications, I hope this site offers some insights that will help you. If you haven't read the book, but want to use these patterns, this site may help you, but I don't fully document the patterns here so I suggest reading the book or using this site in conjunction with other sites that do fully document the patterns.

   If you are really interested in the Patterns then you must buy the book, Design Patterns Elements of Reusable Object-Oriented Software (GoF). There are a lot of sites that summarize it, condense it, quote it, etc., but the these sites (including this one) should be used as a supplement and not a replacement for the 'real thing'. Some parts of this site are directly copied from the text(GoF). I'm not trying to claim it as my own, but I'm not wanting to bastardize their work by altering these parts. I'll try to make it clear when I'm copying word for word.

    The GoF do not make the claim that they invented these patterns. These patterns have been in use for many years and have evolved from many years of programming by many developers. What the GoF is credited for is putting together the system of classifying and describing patterns, and for generating a wide interest in the use of patterns to increase the reusability of software. If we are smart, we will use the knowlege and the lessons learned from our past so that we aren't doomed to repeat the same mistakes and struggle to invent the wheel over and over again.