किसी समस्या के लिए सही pattern (या कोई नहीं) चुनने के लिए समस्या को गहराई से समझना, patterns और उनके trade-offs को जानना, और फायदों को complexity के खिलाफ संतुलित करने के लिए judgment लागू करना ज़रूरी है। लक्ष्य समस्या को अच्छी तरह हल करना है, patterns को अपने आप में इस्तेमाल करना नहीं।
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
