There is a fantastic book by Matt Weisfeld called “The Object Oriented Thought Process”. Here is a column of the same title written by Matt.
- the examples are given in Java mostly
The Object-Oriented Thought Process
Moving from Procedural to Object-Oriented Development
Object Relationships
Thinking in Objects
Furthering the Object-Oriented Mindset
Exploring Encapsulation
Hiding Data within Object-Oriented Programming
Protecting Data through Object-Oriented Programming
Putting an Object in a Safe State
The Components of a Class
The Evolution of Object-Oriented Languages
Object Responsibility
Object Construction
Inside Constructors
Encapsulation vs. Inheritance
Packaging Objects to Preserve Encapsulation
Object Signatures