Applied Design Patterns with Java
The 'Gang of Four' (Gamma, Helm, Johnson, and Vlissides) set out to formally study and evaluate the adoption and implementation of O-O technology. The looked at large and small projects, successful and unsuccessful projects. They did a comprehensive analysis and published a landmark work,
Even though their study focused on C++, and used OMT as their notation, this work has considerable relevance today, and it is the basis of our course.
What Gamma et al. discovered was that successful O-O projects have specific common architectural organizations, and that unsuccessful O-O projects generally did have any of these common features.
They classified and interrelated these common architectural organizations into a taxonomy they called Design Patterns.