मैं एक कर्मचारी इंट्रानेट प्रणाली के लिए ASP.NET MVC 4 के साथ निर्मित होने की योजना बना रहा हूं। हम चाहेंगे कि साइट में अलग-अलग "मॉड्यूल" शामिल हों, जिनमें से प्रत्येक एक अलग सुविधा प्रदान करता है: संदेश, पेरोल परिवर्तन, आदि। मैं चाहूंगा कि ये मॉड्यूल संकलित समय पर सक्षम या अक्षम होने में सक्षम हों। होमपेज कुछ प्रकार के नेविगेशन को प्रदर्शित करेगा जो लोड किए गए प्रत्येक मॉड्यूल से लिंक होगा।
यह अब तक आसान है, लेकिन मैं नहीं चाहता कि नेविगेशन सुविधा को पहले से मॉड्यूल के बारे में पता होना चाहिए। दूसरे शब्दों में, मैं चाहता हूं कि मॉड्यूल गतिशील रूप से खोज योग्य हो; मैं एक नए मॉड्यूल के लिए कोड लिखने में सक्षम होना चाहता हूं और फिर नेविगेशन बार में एक लिंक जोड़ा जाता है जिसमें स्रोत में कहीं और कोई कोड परिवर्तन नहीं होता है। प्रत्येक मॉड्यूल को नेविगेशन बार के साथ खुद को पंजीकृत करने का कुछ तरीका होना चाहिए, और - अधिक महत्वपूर्ण बात - यह प्रत्येक मॉड्यूल के लिए लोड किया जाना चाहिए।
मेरा मानना है कि यह एमवीसी के क्षेत्रों का उपयोग करने से पहले होता है, क्योंकि वे उस मामले के लिए डिज़ाइन किए गए हैं जब साइट का लेआउट पहले से जाना जाता है। MEF ऐसा लगता है कि यह उचित हो सकता है, हालाँकि लोगों को MVC के साथ MEF के संयोजन में मिश्रित सफलता मिली है। क्या MEF वास्तव में यहाँ जाने का तरीका है, या क्या मुझे पूरा करने का एक बेहतर तरीका है?