I find that a lot of people with a lot of experience in "Object Oriented Programming" really struggle to understand what it actually is. I wanted to find an easy way for people to learn Object Oriented Programming.
Here it is: Dr. Alan Kay on the Meaning of “Object-Oriented Programming”
As you reflect upon what you currently consider "OOP", remember an all-too-common anti-pattern: The Anemic Domain Model.
That's it! Its that easy! Now try to put it into practice and see if TDD helps you in that quest.
To see how you are doing, here's an easy way to determine whether or not you have taken the first step towards OOP:
- Does a single class have setX() and getX() methods?
- If so, then you fail. Its not OOP.
- Please try again.