Polling asks:
“Did something change yet?”
Observer says:
“I’ll tell you when it happens.”
That tiny shift changes the architecture completely.
New episode:
Why Polling Breaks Your Architecture (Observer Pattern)
youtube.com/watch?v=I21p0mOM…
“The same input means different things in different states.”
That’s the REAL insight behind the State Pattern.
Not “remove conditionals.”
Not “use polymorphism.”
Meaning itself changes with context.
New episode:
Why Your Code Breaks When State Changes
youtube.com/watch?v=tOSNqPYV…
When actions become objects:
behavior gains identity.
And once behavior has identity:
systems can reason about behavior structurally.
That’s one of the deepest ideas in object-oriented design.
New video:
youtube.com/watch?v=EEJztVWS…
Patterns don’t solve problems.
They define how variation behaves.
If your design feels wrong…
it’s usually not the pattern.
It’s the variation.
New video
youtube.com/watch?v=BsJapNnL…
We’re not just creating objects.
We’re making decisions.
And when those decisions spread across your system…
things get out of control.
That’s where Factory comes from.
New video:
youtube.com/watch?v=WD5CKAC6…
If/else isn’t the problem.
Where the decision lives… is.
That’s the real reason Strategy Pattern exists.
Once you see it, you’ll stop overengineering—and start designing.
New video
youtube.com/watch?v=AKGjOQ7V…
Duplicate code isn’t the problem.
It’s the clue.
It’s your system trying to express a concept it doesn’t yet have.
Once you see that… design patterns stop being recipes and start being discoveries.
New video
youtube.com/watch?v=PIy1PCA0…
Most developers memorize design patterns.
Senior developers see structure.
The difference?
They ask:
“What’s the same?”
“What’s different?”
Discover the key skill for working with design patterns, watch the video!
youtube.com/watch?v=mYIrxHYk…
Most developers see code as steps.
Experienced developers see structure.
New video:
youtube.com/watch?v=45B_hhpJ…
Seeing Patterns in Problems
Directions tell you what to do.
Maps show you what exists.
That shift is the foundation of design patterns.
Tweet / X
Emergent design doesn’t mean “skip design.”
It means design safely while the system evolves.
But it only works if you can refactor without fear.
That requires tests.
New video about Emergent Design:
youtube.com/watch?v=5fumWi4r…
Design patterns aren’t solutions.
They’re signals.
Signals that reveal the forces inside a problem.
If the force isn’t there → the pattern is wrong.
New video:
Patterns Aren’t Solutions (and Never Were)
youtube.com/watch?v=ncUrf-dN…
Most developers think testability is about tests.
It’s actually about design.
When tests are painful → your design is telling you something.
New video:
Testability Is the Ultimate Code Smell Detector
youtube.com/watch?v=2IBN031B…
Most rigid systems aren’t complex.
If construction and usage live in the same function, every new requirement edits that crossroads.
Factories centralize identity.
Create. Connect. Return.
New video: Where Should Decisions Live in Code?
youtube.com/watch?v=H_ueruU4…
5 optional features.
32 subclasses.
That’s not bad design.
That’s math.
Variation belongs in data — not types.
New video: Class Explosion (and how to stop it)
youtube.com/watch?v=H_ueruU4…