الدرس 5: مبدأ عكس الاعتماديات (DIP) وحقن الاعتماديات
الصنف التجاري الذي ينشئ new SmtpMailer() داخل نفسه يصبح ملحومًا بمزوّد واحد: لا يمكنك اختباره دون خادم بريد حقيقي، ولا يمكنك تبديل المزوّد دون تعديله. في هذا الدرس نعكس اتجاه الاعتماد: تعتمد الخدمة على واجهة، ويُحقَن التنفيذ من الخارج عبر الباني — مما يجعل الاختبارات والتبديل رخيصة.
مبدأ DIP يشبه مقبس الكهرباء في الجدار: المصباح ليس ملحومًا بمحطة الطاقة — كلا الطرفين يتصلان بقابس قياسي، فيمكن استبدال أي طرف دون المساس بالآخر.
- مبدأ عكس الاعتماديات (DIP)
- يعتمد منطق الأعمال على واجهة مجرّدة، ويُحقَن التنفيذ الملموس من الخارج — فيمكن تبديل البنية التحتية واختبارها بسهولة.
- حقن الباني
- نمط يدخل فيه الاعتماد كمُعامل في الباني ويُخزَّن في حقل private readonly — من يُركّب التطبيق يختار التنفيذ.