Chapter 8. Expanding Our Horizons


In previous chapters, I discussed three fundamental concepts of object-oriented design: objects, encapsulation, and abstract classes. How a designer views these concepts is important. Unfortunately, the traditional ways are very limiting.

In this chapter, I step back and reflect on topics discussed earlier in the book and introduce some new ones. My intent is to describe a fresh way of seeing object-oriented design, a perspective that comes from understanding design patterns. Then I describe the essential features of high-quality code. These features are emphasized by proponents of agile coding methods (such as eXtreme programming and test-driven development). Interestingly, ...

Get Design Patterns Explained: A New Perspective on Object-Oriented Design, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.