An introduction to object-oriented concepts covering how to think in objects, encapsulation, inheritance, and design principles, intended to be language-independent.
After working with object-oriented programming for years, I wanted to revisit the fundamental concepts and ensure I wasn't missing anything important in my design approach.