The Few Simple Ideas Behind Every OOP Pattern and Principle

Have you ever wondered why there are so many rules in object oriented programming?

I asked myself that question a decade ago.

This book is the result of everything I've learned since.

I'm Christopher Okhravi (PhD), a Senior Lecturer at Uppsala University and a YouTuber with over 150,000 followers. I've spent the last ten years decoding OOP — so you don't have to.

This is a practical and language-agnostic guide to OOP. It gives you mental models to reason about complexity and choose the right abstraction at the right time.

I use this book when teaching. Now, it can be yours.

When you buy the book, you'll get exclusive access to a private community where you can:

  • ✅ Ask questions and get feedback.
  • ✅ Showcase your apps and ideas.
  • ✅ Learn alongside other developers.

🥇 #1 Best Seller on LeanPub. Top 10 for months.

  • "I've been coding for almost a decade, and I've never seen these concepts explained this well."

  • "Wow! Such a clean and logical delivery!"

  • "This is one of the best pieces of advice."

  • "Finally, I get the concept after using it for so many years without fully understanding it."

  • "No one will forget this now."

  • "I name you the OOP maestro."

🧠 What You Get

Inside, you'll learn how to think about OOP — not just memorize it. For example:

  • ✅ When to choose dependency injection over instantiation.
  • ✅ When to choose dependency injection over instantiation.
  • ✅ When to use interfaces or composition over inheritance.
  • ✅ How strategies, delegates, and higher-order functions solve the same problem.
  • ✅ How bridge is like a strategy within a strategy.
  • ✅ How dependency injection and replacing conditionals with polymorphism lead to dependency inversion.
  • ✅ How observables are like events, observers like delegates, and how they all relate to asynchronous and reactive programming.
  • ✅ How iterators and enumerables relate to streams and infinite lists.
  • ✅ How the visitor pattern is like pattern matching.
  • ✅ How Variance is the key to the Liskov Substitution Principle and what it enables.
  • ✅ And more...

🙋‍♂️ Frequently Asked Questions

📘 Is this too advanced for me?
No. We start from the very basics. No assumptions, no jargon walls. You don't even need to know what a class is.

🧠 Is this too simple for me?
No. The book scales up. Skip the chapters you find easy. Even seasoned developers find the book enlightening.

📦 Will there be a paperback version?
Possibly. If the digital version does well, a paperback will follow. Buying early helps make that happen.

⏳ Why buy before it's complete?
Because early buyers get exclusive access to a private community where you can ask questions, share your projects, and learn directly from me and other readers.

🔑 How do I join the private community?
Instructions are included in the email you get after purchasing.

📅 When will the final version be done?
The book is being released chapter by chapter, and updates are frequent. Your purchase includes all future updates at no cost.

© 2024–20XX Christopher Okhravi

By using this site you accept our usage of Google Analytics.