Christopher Okhravi

2.4K posts

Christopher Okhravi banner
Christopher Okhravi

Christopher Okhravi

@chrokh

Author, YouTuber (150k+ subs), University Lecturer

Sweden เข้าร่วม Şubat 2010
428 กำลังติดตาม2.1K ผู้ติดตาม
Christopher Okhravi
Christopher Okhravi@chrokh·
@monastyrskiiden Thanks for asking! My book is very different from Head First. I tie things into a bigger narrative. It’s not a catalog of patterns. I show how the same mechanisms take different forms in the same language. And combine to solve more complex problems.
English
0
0
1
17
Денис Монастырский
Денис Монастырский@monastyrskiiden·
@chrokh Hi Christopher, I’m considering your book, but I already own Head First Design Patterns. Does your book cover new topics, or is it mainly your take on that book? I like your style—I just want to avoid buying the same content twice.
English
1
0
1
20
Christopher Okhravi
Christopher Okhravi@chrokh·
@RickyAudet @leanpub My apologies for the lack of communication. The book is updated quite frequently (in bursts) so I have opted to not send notifications to spare readers from being spammed with email 😊 Hope that you understand 😊
English
1
0
1
17
Rick Audet
Rick Audet@RickyAudet·
@leanpub @chrokh Hi! I notice there was an update to this book on 2025-10-13, but I never got an email to alert me about the update. Can you check your systems to confirm that this book is notifying existing owners when it gets updated? Maybe a bug in your Observer Pattern implementation? ;)
English
1
0
1
36
Christopher Okhravi รีทวีตแล้ว
Leanpub
Leanpub@leanpub·
The Object Oriented Way by Christopher Okhravi (PhD) @chrokh is the featured book on the Leanpub homepage! #ComputerProgramming About the Book 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, 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 it in my own teaching. Now, it can be yours. Find it on Leanpub!
Leanpub tweet media
English
2
1
1
388
Christopher Okhravi
Christopher Okhravi@chrokh·
My silly face is now included in AI answers 😊
Christopher Okhravi tweet media
English
0
0
7
458
Christopher Okhravi
Christopher Okhravi@chrokh·
My thoughts are with the family and friends of Charlie Kirk. Open debate matters.
English
0
0
3
279
Christopher Okhravi
Christopher Okhravi@chrokh·
Strategy is a concretion composed with an abstraction.
Bridge is a concretion composed with an abstraction… that’s composed with another abstraction. In other words:
Bridge is what happens when you nest Strategy.
English
0
0
2
312
Christopher Okhravi
Christopher Okhravi@chrokh·
Failing fast doesn’t mean being reckless. It means surfacing errors early, getting feedback quickly, and moving forward with clarity.
English
0
1
6
404
Christopher Okhravi
Christopher Okhravi@chrokh·
In life, we tend to overthink. We research, analyze, compare, and stall — all to avoid failure. But most of the time, we’d be better off making the wrong decision faster. Momentum matters.
English
0
0
4
249
NahtanoJ
NahtanoJ@Jonatha39353520·
@chrokh If it's an ebook, then I'll buy it.
English
1
0
2
17
Christopher Okhravi
Christopher Okhravi@chrokh·
My book only covers 8 design patterns. Because patterns are a lens, not a catalog. Understand the core mechanics, and you’ll understand the rest. Strategy, Bridge, Composite, Decorator, Iterator, Factory Method, Observer, Visitor. ☀️ theobjectorientedway.com
English
1
2
13
516
Christopher Okhravi
Christopher Okhravi@chrokh·
Every hour you spend trying to avoid failure is an hour you’re not learning, not iterating, not shipping, not living.
English
0
0
6
284
Christopher Okhravi
Christopher Okhravi@chrokh·
A bad decision teaches you more than no decision ever will — as long as it’s reversible.
English
0
0
8
296
Christopher Okhravi
Christopher Okhravi@chrokh·
Make good bad decisions. Quickly. Ones that you can recover from. In software, choose abstractions that are easy to change. In life, make choices that won’t kill someone or their sanity. In business, make choices that maximise learning.
English
1
0
8
222
Christopher Okhravi
Christopher Okhravi@chrokh·
Fail fast. Learn fast. Ship fast. In code, life, and business.
English
0
0
5
221
NahtanoJ
NahtanoJ@Jonatha39353520·
@chrokh Is a digital book ?
Português
1
0
0
20
Christopher Okhravi
Christopher Okhravi@chrokh·
Value and pivotability, not premature perfection.
English
0
0
4
203
Christopher Okhravi
Christopher Okhravi@chrokh·
@FUCORY My apologies for expressing myself vaguely. I was addressing languages that support default interface methods. Where you can actually have methods with implementation in the interface. That provokes the question of inheritance vs interfaces.
English
0
0
2
44
fucory
fucory@FUCORY·
@chrokh Rule of thumb incomplete. One can have state with a class implementing an interface
English
1
0
1
74
Christopher Okhravi
Christopher Okhravi@chrokh·
When possible, we should pick interfaces because they are more flexible. A class can only inherit from *one* class but can implement *many* interfaces. So here's the rule of thumb: > Use interfaces unless you need state.
English
1
2
7
497
Cornstash2
Cornstash2@cornstash2·
@chrokh Sett din serie om patterns, gillar. Har läst Clean code, clean architecture, refactoring, working ef with legacy code, prag programmer, effective java, concurrency. Ej sugen på HF design patterns, men behöver någon sommarläsning.
Svenska
1
0
1
41
Christopher Okhravi
Christopher Okhravi@chrokh·
When coupling to abstractions rather than concretions, all instantiation either happens in the main entry point of the application or in factories. And that's the key reason why we have the factory method pattern.
English
1
1
9
378