Now that we know the basic principles of object-oriented design and have become familiar with the class diagrams offered by the Unified Modeling Language, we are now ready to begin our exploration of the galaxy known as Design Patterns.
Those of us who write code for living occasionally experience a sense of déjà vu – that we have already written something identical or similar once before in some other program, but can’t remember exactly where or when. Some of us may remember where and when we did something similar; and some of us may even have a collection of code snippets ...