What books would you recommend to improve on object oriented design? I know nothing beats experience, though I would like to know what books have you read that has improved your knowledge on OO design and you highly recommend.<p>I have been planning to read Code Complete and The pragmatic programmer. What are your thoughts on these books?
Smalltalk Best Practice Patterns, by Kent Beck<p>Smalltalk is object oriented from the ground up and this book is full of advice and examples of good OOAD. Even if your every day language is Java, C++ or something else, this book will show you OO the way it was meant to be done.<p>It's not quite as easy to follow as the Sandi Metz book I mentioned above, but worth the effort.<p>j.
Practical Object Oriented Design in Ruby, by Sandi Metz<p>Even if you code in a language other than Ruby, this book is quite easy to follow and chock full of great OO advice.