When I was first taught OOP, around 2004, Java was already an established language. Despite having been published 10 years before I was taught Java, the Design Patterns book had yet to take hold of the teachers. The older ones seemed to be stuck in the inheritance hierarchy mindset. I had my share of animals, shapes, and everyday possessions.

Read the rest of the article.