मैं एक छोटे-आइश लेकिन बढ़ती परियोजना में पहली बार डीआई/आईओसी फ्रेमवर्क का उपयोग करने का प्रयास करना चाहता हूं, और मैं भारी निर्भरताओं को पेश करके परियोजना को परेशान नहीं करना चाहता हूं। परियोजना को आंशिक रूप से अन्य परियोजनाओं में पुस्तकालय के रूप में उपयोग करने का इरादा है, और मैं अतिरिक्त निर्भरताओं के प्रबंधन के साथ उपयोगकर्ताओं को परेशान नहीं करना चाहता हूं। यह स्वाद का विषय भी है - मुझे लगता है कि एक घटक का आकार वास्तव में आवश्यक सेवाओं की मात्रा के समान होना चाहिए। मैं अपने आप की निर्भरताओं के साथ एक भारी घटक को शामिल करने से नफरत करता हूं, केवल इसका एक छोटा सा हिस्सा उपयोग करने के लिए।एक साधारण निर्भरता इंजेक्शन ढांचे का नाम
तो, .NET के लिए, एक छोटा डीआई/आईओसी फ्रेमवर्क है जो मानक पुस्तकालयों के अलावा किसी भी निर्भरता के साथ एक एकल डीएलएल को संकलित करता है, (यदि आवश्यक हो) सीधे उस असेंबली में एम्बेड किया जा सकता है जो इसका उपयोग करता है, और वह तार-आधारित/धाराप्रवाह (एक्सएमएल के विपरीत) तारों पर जोर देता है? इसे .NET Framework 4.0 की आवश्यकता नहीं है।
यदि आप केवल नियंत्रण में उलझन चाहते हैं तो आपको लाइब्रेरी की आवश्यकता नहीं है। बस अपनी कक्षा के निर्माता के माध्यम से अपनी निर्भरताओं को इंजेक्ट करें। –
अभी मैं यही कर रहा हूं। हालांकि, तारों की चीजें थोड़ा बोझिल हो रही हैं और मुझे पता है कि यह परियोजना बढ़ने के साथ ही बदतर हो जाएगी। (यह कई घटकों से बना एक कंपाइलर प्रोजेक्ट है और अन्य लोगों के लिए घटकों को स्वैप करना संभव होना चाहिए ...) – Qwertie
मैं रॉबर्ट से सहमत हूं। कोड में निर्भरता इंजेक्शन करके, आपको संकलक का भी लाभ मिलता है। मैं आमतौर पर मुख्य() विधि में अपने आवेदन तार। –