At the end of any book, it is always nice to step back and see what we have gained. In this book, I have tried to give you a better and perhaps new understanding of object-oriented principles by teaching you design patterns and understanding how design patterns explain the object-oriented paradigm.
In this chapter, I review the following:
The new perspective of object-oriented principles, based on an understanding of design patterns
How design patterns help us encapsulate implementations
Commonality/Variability analysis and design patterns and how they help to understand abstract classes
Decomposing a problem domain by the responsibilities involved
Specifying relationships between objects
Design patterns and contextual design
Finally, I offer some field notes from my own practice.