استخدام Polymorphism بدل if المتعددة

x32x01
  • بواسطة x32x01 ||
  • #1
عزيزي الجونيور أو حتى السينيور..
أكبر غلطة ممكن تعملها في حق نفسك وفي حق المشروع بتاعك إنك تستخدم أكتر من شرط if جوه الفانكشن زي المثال المشهور ده 👇

يعني مثلًا عندك فانكشن بتحسب السعر بناءً على نوع الاشتراك (Subscription Type).
هل منطقي كل نوع اشتراك تقعد تضيف له if statement جديدة؟ 😅
أكيد لأ!

فهنا ييجي الحل السحري: Polymorphism 🧠

إيه هو الـ Polymorphism؟​

هو مفهوم أساسي في البرمجة الكائنية (OOP) بيسمح إن الكائنات (objects) من فئات مختلفة تتعامل بنفس الطريقة.
الميزة؟ الكود يبقى:
✅ أكتر مرونة
✅ أسهل في التعديل
✅ قابل للصيانة والتوسع

الشرح ببساطة​

الفكرة إنك بتعمل interface أو abstract class فيها دوال معينة - وليكن calculate().
بعد كده كل نوع اشتراك بيبقى له class خاص بيه بينفذ الدالة دي بطريقة مختلفة.

يعني بدل ما تكتب كود كبييير كله if، هتخلي كل نوع اشتراك هو اللي يعرف يحسب بنفسه 👇

JavaScript:
// واجهة لتحديد طريقة الحساب
interface PriceCalculator {
calculate();
}

// كلاس لكل نوع اشتراك
class BasicCalculator implements PriceCalculator {
calculate() {
return 100;
}
}

class PremiumCalculator implements PriceCalculator {
calculate() {
return 200;
}
}

// استخدام الكلاسات
function getPrice(calculator) {
return calculator.calculate();
}

console.log(getPrice(new BasicCalculator())); // 100
console.log(getPrice(new PremiumCalculator())); // 200

الفايدة الحقيقية من Polymorphism​

لما تستخدم الطريقة دي بدل if statements:
  • الكود هيبقى أقل تعقيدًا
  • أسهل في الفهم والتطوير
  • أكثر مرونة لما تضيف أنواع جديدة من الاشتراكات
وبكده تكون استخدمت مفهوم Polymorphism بطريقة ذكية 💡
وخليت كودك نظيف واحترافي 👏
001.webp

002.webp

003.webp

004.webp
 
مواضيع مشابهة
x32x01
الردود
0
المشاهدات
18
x32x01
x32x01
إحصائيات المنتدى
المواضيع
961
المشاركات
996
الأعضاء
13
آخر عضو مسجل
Mostafa
عودة
أعلى