logo

حقن التبعية في الربيع

  1. حقن التبعية في الربيع
  2. بحث التبعية
  3. حقن التبعية

حقن التبعية (DI) هو نمط تصميم يزيل التبعية من كود البرمجة بحيث يكون من السهل إدارة التطبيق واختباره. حقن التبعية يجعل كود البرمجة الخاص بنا مقترنًا بشكل غير محكم. لفهم DI بشكل أفضل، دعونا نفهم البحث عن التبعية (DL) أولاً:

بحث التبعية

البحث عن التبعية هو أسلوب نحصل فيه على المورد بعد الطلب. يمكن أن تكون هناك طرق مختلفة للحصول على المورد، على سبيل المثال:

مجموعة جافا
 A obj = new AImpl(); 

بهذه الطريقة، نحصل على المورد (مثيل الفئة A) مباشرةً عن طريق كلمة رئيسية جديدة. طريقة أخرى هي طريقة المصنع:

 A obj = A.getA(); 

بهذه الطريقة، نحصل على المورد (مثيل للفئة A) عن طريق استدعاء أسلوب المصنع الثابت getA().

وبدلاً من ذلك، يمكننا الحصول على المورد عن طريق JNDI (واجهة دليل تسمية Java) على النحو التالي:

json من كائن جافا
 Context ctx = new InitialContext(); Context environmentCtx = (Context) ctx.lookup('java:comp/env'); A obj = (A)environmentCtx.lookup('A'); 

يمكن أن تكون هناك طرق مختلفة للحصول على المورد للحصول على المورد. دعونا نرى المشكلة في هذا النهج.

مشاكل البحث عن التبعية

هناك مشكلتان رئيسيتان في البحث عن التبعية.

    اقتران ضيقنهج البحث عن التبعية يجعل الكود مقترنًا بإحكام. إذا تم تغيير المورد، فسنحتاج إلى إجراء الكثير من التعديلات في الكود.ليس من السهل الاختباريخلق هذا الأسلوب الكثير من المشكلات أثناء اختبار التطبيق خاصة في اختبار الصندوق الأسود.

حقن التبعية

حقن التبعية هو نمط تصميم يزيل تبعية البرامج. في مثل هذه الحالة نقوم بتوفير المعلومات من مصدر خارجي مثل ملف XML. فهو يجعل التعليمات البرمجية الخاصة بنا مقترنة بشكل فضفاض وأسهل للاختبار. في مثل هذه الحالة نكتب الكود كالتالي:

 class Employee{ Address address; Employee(Address address){ this.address=address; } public void setAddress(Address address){ this.address=address; } } 

في مثل هذه الحالة، يتم توفير مثيل فئة العنوان من خلال مصدر خارجي مثل ملف XML إما عن طريق طريقة المُنشئ أو طريقة الضبط.

طريقتان لإجراء حقن التبعية في إطار عمل الربيع

يوفر إطار الربيع طريقتين لحقن التبعية

  • بواسطة منشئ
  • بواسطة طريقة سيتر

المواضيع القادمة في حقن التبعية الربيعية

حقن التبعية من قبل المنشئ

دعونا نرى كيف يمكننا حقن التبعية عن طريق المنشئ.

إطار مجموعات جافا

حقن التبعية بطريقة الضبط

دعونا نرى كيف يمكننا حقن التبعية بطريقة الضبط.