Scegliere il pattern giusto (o nessuno) per un problema richiede di comprendere profondamente il problema, conoscere i pattern e i loro compromessi, e applicare il giudizio per bilanciare i benefici rispetto alla complessità. L'obiettivo è risolvere il problema bene, non usare i pattern per se stessi.
Inizia dal problema, non dal pattern
✓ 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
