Object Oriented Design


Design Patterns: Elements of Reusable Object-Oriented Software
Head First Design Patterns
Refactoring: Improving the Design of Existing Code (Addison-wesley Object Technology Series)
Domain-Driven Design: Tackling Complexity in the Heart of Software
Practical Object Oriented Design in Ruby
Clean Code: A Handbook of Agile Software Craftsmanship
UML Distilled: A Brief Guide to the Standard Object Modeling Language
Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
Understanding the Four Rules of Simple Design
Implementing Domain-Driven Design
Object-Oriented Software Construction (Book/CD-ROM)
Confident Ruby
Agile Software Development, Principles, Patterns, and Practices
Object-Oriented Reengineering Patterns (The Morgan Kaufmann Series in Software Engineering and Programming)
Object Design: Roles, Responsibilities, and Collaborations
Robert C. Martin
All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables.
Robert C. Martin, Clean Architecture

Robert C. Martin
the fact that oo languages provide safe and convenient polymorphism means that any source code dependency, no matter where it is, can be inverted
Robert C. Martin, Clean Architecture

More quotes...