From author: Following these rules with discipline will force you to come up with the harder answers that lead
to a much richer understanding of object oriented programming. If you write a thousand lines
that follow all these rules you will find that you have created something completely different
than you expected. Follow the rules, and see where you end up. If it isn’t comfortable, back off
and see what you can leverage that is comfortable. You might find that if you keep working at it,
you see code you are writing conform to these rules without any conscious effort on your part.