Alegerea modelului potrivit (sau a niciunuia) pentru o problemă necesită înțelegerea profundă a problemei, cunoașterea modelelor și compromisurilor acestora, și aplicarea discernământului pentru a echilibra beneficiile împotriva complexității. Scopul este rezolvarea problemei bine, nu folosirea modelelor pentru ele însele.
Pornește de la problemă, nu de la model
✓ UNDERSTAND THE PROBLEM first → what's the actual issue? (don't start by picking a pattern)
✓ Identify what you NEED → flexibility? decoupling? extensibility? simpler creation?
✓ Then ask: does a pattern address THIS problem well? (or is a simple solution better?)
→ problem-first, not pattern-first → avoid forcing patterns
