7

मैं निर्भरता इंजेक्शन के बारे में जानने की कोशिश कर दिया गया है और के बारे में पढ़ कर दिया गया है और इस के समान एक छोटे से निर्भरता इंजेक्शन कंटेनर कोड करने के लिए कोशिश कर रहा है: http://fabien.potencier.org/article/12/do-you-need-a-dependency-injection-containerनिर्भरता इंजेक्शन कंटेनर - फैक्टरी पैटर्न

एक बात है कि मुझे भ्रमित कर रहा है यह है :

एक निर्भरता इंजेक्शन कंटेनर कारखाने पैटर्न का सिर्फ एक गौरवशाली कार्यान्वयन नहीं है?

यदि हां, तो क्यों न केवल इसे कॉल करें, क्यों फैंसी अवधि की आवश्यकता केवल मामलों को भ्रमित करने की आवश्यकता है।

यदि यह नहीं है, तो क्या कोई यह समझा सकता है कि मैं यहां क्या खो रहा हूं?

+1

[निर्भरता इंजेक्शन बनाम फैक्टरी पैटर्न] (http के संभावित डुप्लिकेट। कॉम/प्रश्न/557742/निर्भरता-इंजेक्शन-बनाम-फैक्ट्री-पैटर्न) – podiluska

+1

'निर्भरता इंजेक्शन' 'निर्भरता इंजेक्शन कंटेनर' की तुलना में एक बहुत व्यापक शब्द है। डीआई और फैक्ट्री के बीच अंतर देखना आसान है, डीआई कंटेनर और फैक्ट्री के बीच अंतर देखने में इतना आसान नहीं है। तो मुझे नहीं लगता कि यह एक डुप्लिकेट सवाल है। – Russ

उत्तर

7

आपको निर्भरता इंजेक्शन और नियंत्रण में उलटा होना है।

निर्भरता इंजेक्शन यह है कि आप वर्ग को निर्भरताओं को जिम्मेदार ठहराते हुए कक्षा में निर्भरता को इंजेक्ट करते हैं।

नियंत्रण का विवर्तन यह है कि वस्तु और उसके जीवनकाल पर कुछ नियंत्रण होता है। इस मामले में यह तय करने के लिए कंटेनर पर निर्भर करता है कि ऑब्जेक्ट कब और कैसे बनाया जाना चाहिए और निपटान किया जाना चाहिए।

फैक्टरी पैटर्न प्रत्येक कॉल पर एक नई वस्तु बनाने के बारे में हैं। पैटर्न स्वयं कुछ भी नहीं कहता है कि निर्भरता कैसे बनाई जानी चाहिए।

यही कारण है कि आप विभिन्न जीवनकाल को कॉन्फ़िगर कर सकते हैं और सीमित जीवनकाल वाले वस्तुओं को नियंत्रित करने के लिए बाल कंटेनरों का उपयोग कर सकते हैं।

मुझे लगता है कि यहाँ के बारे में एक लेख लिखा है: http://www.codeproject.com/Articles/386164/Get-injected-into-the-world-of-inverted-dependenci

या आप अधिक उदाहरणों के साथ देखना पसंद करता है, तो: // stackoverflow: http://www.codeproject.com/Articles/440665/Having-fun-with-Griffin-Container