Follow this blog

Software engineering, design, and psychology

Book review: “The Object Oriented Way”, Christopher Okhravi

Last week I finished reading “The Object Oriented Way” by Christopher Okhravi. I was attracted to this book with occasional posts by the author on Youtube where he was discussing complex and interesting topics of OOP. His dives into use cases for composition vs. inheritance, composition patterns, and dependency inversion finally convinced me to buy a full copy. I was not disappointed!

This book is like a Bible of OOP. It starts from the very foundational topics like syntax, declaration vs. assignment vs. initialization, number types, variable mutability and so on – written in a concise yet exhaustive manner.

The story develops with detailed discussion of all the tools used in C# OOP, each chapter more advanced than the previous one. It culminates with very interesting discourse of Liskov Substitution Principle: covariance, contravariance, invariance, and the limitations C# has regarding pure logical object-oriented compatibility.

The ending was somewhat unexpected. For me it turned a textbook into a wonderfully written story, with a narration gradually building cognitive tension towards beautiful complexity and then resolution with a new state, a level above the starting point. I will not spoil any details, though :)

Whom this book is going to be useful:

  • anybody who wants to learn C#
  • junior devs to build a solid understanding of OOP toolchain
  • middle-to-senior devs to fill in the gaps in OOP theory
  • staff devs and above to master arguments for or against object-oriented approach in a particular module

Verdict: 4.5 / 5 – essential.
Consider buying the full book. It is a worthy investment for most of OOP practitioners.

I personally would love to see more detailed UML diagram section. They can be quite complex, and it would be cool to have a complete material on how to write expressive diagrams when planning OOP architecture.

Follow this blog
Send
Share
Pin
Next