2008-10-19 8 views
66

ब्लॉगोस्फीयर और माइक्रोसॉफ्ट द्वारा यह कहा गया है कि एमईएफ एक और आईओसी कंटेनर नहीं है।एमआईएफ एक डीआई/आईओसी कंटेनर क्यों नहीं है?

ठीक है ... लेकिन क्यों? यह मेरे जैसा ही लगता है। हो सकता है कि यह एकता या Castle Windsor जितना अच्छा न हो, लेकिन यह अभी भी परिभाषा को फिट करता है, है ना?

एमईएफ एकता या कैसल विंडसर की तरह आईओसी कंटेनर क्यों नहीं है?

+2

आपको कम से कम मुझे चराने कोड साक्षात्कार :) – Kev

+0

ज़रूर कीव के लिए लिंक के लिए एक वोट दें रख सकता है। क्षमा करें कि, लेकिन हंसेलमिंट्स में ग्लेन ब्लॉक का जवाब बहुत अधिक विस्तृत था। आपके द्वारा पोस्ट साक्षात्कार अच्छा था, लेकिन मुझे उत्तर से अधिक प्रश्नों के साथ छोड़ दिया। – CVertex

+1

हमने इसे हाल ही में हंसेलमिंट्स एपिसोड में शामिल किया है। http://www.hanselminutes.com/default.aspx?showID=166 –

उत्तर

8

मेरी दुनिया में डीआई तीन आयामों, ऑब्जेक्ट कंपोजिशन, लाइफटाइम मैनेजमेंट और इंटरसेप्शन पर आधारित है। यही एक अन्य पूर्ण उड़ा डी कंटेनर है, जैसे यूनिटी, कैसल विंडसर, और निनजेस सुविधा। एमईएफ केवल एक आयाम, ऑब्जेक्ट संरचना का समर्थन करता है। यह बहुत अच्छा कर रहा है, लेकिन शेष दो आयाम एमईएफ में समर्थित नहीं हैं।

+3

लाइफटाइम प्रबंधन अब कॉन्फ़्रेंस आधारित कॉन्फ़िगरेशन मॉडल के अलावा 4.5/4.0 में एमईएफ 2.0 में काफी सुधार हुआ है। हस्तक्षेप नहीं है, हालांकि एमईएफ कंट्रीब के पास एओपी/इंटरसेप्शन का विस्तार होता है। –

9

MEF संभावित है, लेकिन एक डि कंटेनर के रूप में, यह अभाव है: विन्यास के रूप में

  1. कोड
  2. ऑटो पंजीकरण
  3. एक्सएमएल विन्यास (मेरे लिए बहुत महत्वपूर्ण नहीं)
  4. कस्टम जन्मों
  5. इंटरसेप्शन

उन चीजें बहुत महत्वपूर्ण हैं।

जीवन शैली के लिए यह अभाव है:

    प्रति ग्राफ
  1. वेब अनुरोध प्रसंग
  2. थ्रेड संदर्भ
  3. सत्र प्रसंग
  4. जमा
  5. scoped
  6. कस्टम संदर्भ

संदर्भ: - मार्क सीनैन की पुस्तक ".NET में निर्भरता इंजेक्शन"