- بواسطة x32x01 ||
🧠 إمتى تختار Design Pattern صح بجد؟
هسألك سؤال صغير كده 🤔إمتى آخر مرة اخترت Pattern لأنها فعلاً بتحل مشكلة؟
مش علشان حافظ اسمها من كتاب أو كورس؟ 😅
المشكلة إن ناس كتير بتحفظ أسماء زي: Strategy - Factory - Adapter
بس مش فاهمة ليه الأنماط دي اتعملت أصلاً ولا وصلت للحل ده إزاي… ودي أصل المشكلة ❌
🔑 بدل ما تحفظ Patterns… اسأل 3 أسئلة
خلّي الموضوع بسيط جدًا، اعتبرها Decision Tree على الضيق 😂3 أسئلة بس، هما اللي يحددوا أنهي Pattern تناسبك.
1️⃣ المشكلة في إنشاء الـ Objects؟
لو بتعاني من:- Constructors كبيرة ومعقدة
- بتقعد تفكّر تعمل new لأنهي Implementation
- Combos غريبة في الإنشاء
📌 مثال:
- محتاج Instance واحدة؟
- ممكن تفكّر في Singleton
- بس خلي بالك من:
- Mutable State
- Testing
2️⃣ المشكلة في ربط المكونات ببعض؟
- Interfaces داخلة جوه الـ Domain
- Subsystems استخدامها معقّد
- عايز تضيف حاجة من غير ما تبوّظ الموجود
📌 مثال:
- Adapter
- لو عايز تدمج Library مختلفة مع Interface انت متعود عليه
3️⃣
المشكلة في السلوك والتغيّر؟
لو الكود عندك:- مليان if / else
- السلوك بيتغير حسب الحالة
- في Logic مكرر بشكل مزعج
📌 مثال:
- Observer
- ممتاز للـ Notifications
- أو Domain Events
🎯 الخلاصة ببساطة
❌ متحفظش Design Patterns كأسماء❌ ومتستخدمهاش علشان شكل الكود يبقى “Professional”
✅ اسأل:
- المشكلة في الإنشاء؟
- ولا في الربط؟
- ولا في السلوك؟
📚 أفضل مرجع بسيط لتعلّم Design Patterns
لو حابب شرح سهل + أمثلة واضحة، الموقع ده ممتاز جدًا 👇❤️🔗 Refactoring Guru
https://refactoring.guru/design-patterns
لو البوست فادك؟
شير ولايك يا هندسة 😅❤️
وسيب رأيك في الكومنتات…👇