Member-only story
Stop Memorizing Design Patterns: Use This Decision Tree Instead
Choose design patterns based on pain points: apply the right pattern with minimal over-engineering in any OO language.
Design patterns rarely fail because they are “wrong.” They fail because we reach for them at the wrong moment, for the wrong reason, or as a substitute for naming the real problem. Usually, the hard part is not remembering that Strategy exists, it is deciding whether Strategy is what your code needs right now, or whether a simpler move would do more.
Not a Medium member? Read the full article for free here.
More from me: Dev Basics (Git + SQL + Auth) · Auth basics (sessions, JWTs, OAuth) · Career bundle (CV + interviews + career progression) · System Design Interview Kit · 1:1 Mentorship.
This is why a decision tree helps. It forces one step of discipline before you pick a pattern: you describe the friction you are trying to remove.
Are you struggling with object creation that keeps getting more complex? Are you fighting boundaries between components or external dependencies? Or is the main issue that behaviour keeps changing and your code is adding conditionals?







