Escolher o padrão certo (ou nenhum) para um problema requer entender o problema profundamente, conhecer os padrões e seus trade-offs, e aplicar julgamento para equilibrar benefícios contra complexidade. O objetivo é resolver o problema bem, não usar padrões pelo simples fato de usá-los.
Comece com o problema, não com o padrão
✓ 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
