Head First Object-Oriented Analysis and Design
I love Head First Books because they are fun to read. They have exercises and puzzles to scratch your head. I've read this book and found it very good.
The book covers:
- Use OO principles (encapsulation and delegation)
- Open-Closed Principle (OCP)
- The Single Responsibility Principle (SRP)
- Design patterns, UML, Use cases etc.