Rebecca Wirfs-Brock 1990
Designing Object-Oriented Software
Wirfs-Brock, Rebecca, Wilkerson, Brian, and Wiener, Lauren. 'Designing Object-Oriented Software'. Prentice-Hall, 1990.
A classic text from the relatively early days of object-oriented design. This is still a useful introductory text, although some aspects (such as the emphasis on inheritance rather than composition) are now slightly dated. The book is based on Smalltalk and reflects the class-responsibility-collaboration (CRC-card) approach formalised by Kent Beck and Ward Cunningham. However, the examples and discussion emphasise a general rather than language-specific approach to object-oriented design and include a very clear introduction to general object-oriented terminology and techniques. The book also strongly includes a substantial section on the responsibility-driven behaviour-based design approach for which Wirfs-Brock is now most well-known.