Design pattern มีคุณค่าเมื่อมันแก้ปัญหาจริงที่คุณมีอยู่ แต่การฝืนใช้มันในที่ที่ไม่เหมาะทำให้เกิด over-engineering วิจารณญาณที่ดีว่าเมื่อไร (และเมื่อไรไม่ควร) จะใช้ pattern สำคัญพอ ๆ กับการรู้จัก pattern เอง
ใช้ pattern เมื่อมันเหมาะกับปัญหาจริง
✓ When you have a problem a pattern is DESIGNED to solve (recognize the situation)
✓ When the pattern genuinely makes the code better (more flexible, maintainable, clear)
✓ When the added structure is JUSTIFIED by real needs (flexibility you'll actually use)
✓ When it improves communication (a well-known pattern others will recognize)
→ patterns are TOOLS for specific problems → apply them to the right problems
