युग्मित (आश्रित) वस्तुओं को अलग (स्वतंत्र) वस्तुओं में इंजेक्ट करने (परिवर्तित) करने की प्रक्रिया को डिपेंडेंसी इंजेक्शन कहा जाता है।
निर्भरता इंजेक्शन के प्रकार
DI चार प्रकार के होते हैं:
1.कंस्ट्रक्टर इंजेक्शन
2.सेटर इंजेक्शन
3.इंटरफ़ेस आधारित इंजेक्शन
4.सर्विस लोकेटर इंजेक्शन
कंस्ट्रक्टर इंजेक्शन
कंस्ट्रक्टर का उपयोग पैरामीटर को इंटरफ़ेस करने के लिए किया जाता है जो कि पैरामीटरयुक्त ठेकेदार के माध्यम से उजागर होता है।
यह निर्भरता को एक ठेकेदार विधि के माध्यम से ऑब्जेक्ट निर्माण अन्य वर्गों के रूप में इंजेक्ट करता है।
सेटर इंजेक्शन
गेट्टर और सेटर इंजेक्शन डिफ़ॉल्ट सार्वजनिक गुण प्रक्रिया जैसे गेटटर (प्राप्त () {}) और सेटर (सेट () {}) का उपयोग करके निर्भरता को इंजेक्ट करता है। टी
इंटरफ़ेस इंजेक्शन
इंटरफ़ेस इंजेक्शन गेट्टर और सेटर DI के समान है, गेट्टर और सेटर DI डिफ़ॉल्ट गेट्टर और सेटर का उपयोग करता है लेकिन इंटरफ़ेस इंजेक्शन समर्थन इंटरफ़ेस का उपयोग करता है एक प्रकार का स्पष्ट गेटर और सेटर जो इंटरफ़ेस गुण सेट करता है।
सर्विस लोकेटर इंजेक्शन
सर्विस लोकेटर इंजेक्शन को निर्भरता अवशोषण के रूप में भी जाना जाता है। इसका उपयोग नए ऑपरेटर को बदलने के लिए किया जाता है। यह सीधे तरीकों (बिना ऑब्जेक्ट बनाए) को लागू करके वर्ग निर्भरता को छुपाता है।
DI के लाभ
वर्ग युग्मन को कम करता है
कोड पुन:प्रयोज्य बढ़ाता है
कोड रखरखाव में सुधार करता है
एप्लिकेशन परीक्षण में सुधार करता है
केंद्रीकृत विन्यास
निर्भरता इंजेक्शन की कमी
निर्भरता इंजेक्शन का मुख्य दोष यह है कि कई उदाहरणों का एक साथ उपयोग करना बहुत मुश्किल हो सकता है यदि बहुत अधिक उदाहरण और कई निर्भरताएं हैं जिन्हें हल करने की आवश्यकता है।