2009-04-24 20 views
7

क्या किसी के पास प्लग करने योग्य मॉड्यूलर तरीके से एएसपी.NET एमवीसी अनुप्रयोग बनाने के लिए एक पुनर्मूल्यांकन है? मेरा मतलब कुछ ब्लॉग-पोस्ट/ट्यूटोरियल आदि है। मैंने अभी Hammet's MEF and ASP.NET MVC sample blogpost पढ़ा है, लेकिन मुझे अभी तक उत्पादन में इसका उपयोग करने के लिए पर्याप्त परिपक्व नहीं मिला है। मैं इस विषय पर किसी अन्य प्रासंगिक पोस्ट को बाहर करने में सक्षम नहीं था ...एएसपीएनटी एमवीसी मॉड्यूलर एप्लिकेशन कैसे/सिफारिशें

मुझे पता है कि मैं कस्टम नियंत्रक प्रदाता और कुछ प्लगइन-निरीक्षण तंत्र को लागू करने वाली मॉड्यूलरिटी प्राप्त कर सकता हूं, लेकिन मैं कुछ और दृष्टिकोण/मॉड्यूलर एप्लिकेशन मॉडल/सेवाओं आदि मैं करना चाहते हैं जैसे अन्य कुछ भी नहीं है - सर्वोत्तम प्रथाओं इससे पहले कि मैं पहिया :)


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

मैं यहां किसी भी मॉडल + सेवाओं को प्लग करने योग्य आर्किटेक्चर पर चर्चा नहीं करना चाहता - बस एएसपी.Net एम वीसी भाग।

+0

मैं निकट भविष्य में कुछ ऐसा ही कर रहा हूं, अब तक मुझे ऐसा कुछ भी नहीं मिला है जो यह 'बॉक्स से बाहर' है। हालांकि इसे मैन्युअल रूप से करने के लिए अपेक्षाकृत सरल होना चाहिए, बस बिन में असेंबली असेंबली और एक निश्चित इंटरफ़ेस के उत्तराधिकारी की तलाश करें। मुझे लगता है ... – roryf

उत्तर

1

MVC Portable Areas मैं एक लेख है कि मौलिक आवश्यकताओं आप के बारे में बात से कुछ को संबोधित करते पाया इस समस्या

3

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

यदि आप मौजूदा एप्लिकेशन में आसानी से एक नया मॉड्यूल प्लग करने में सक्षम होना चाहते हैं, तो आप मॉड्यूल को कैसे परिभाषित करते हैं? मुझे लगता है कि आपको कुछ गैर-अस्पष्ट और सार्थक उत्तर प्राप्त करने के लिए प्रश्न को थोड़ा कम करना चाहिए।

+0

आप सही हैं - मैंने विषय को कम करने के लिए पोस्ट को संपादित करने का प्रयास किया .. – Buthrakaur

0

प्रतिरूपकता के लिए बुनियादी तर्क हमेशा एक ही रहे हैं ...

  • Testability
  • अनुरक्षणीयता
  • तैनाती की आसानी
1

आंशिक-अनुरोधों के लिए समर्थन 3 हिस्सा नियंत्रकों प्रस्तुत करना एमवीसी में पूरी तरह से समर्थित है, इस पोस्ट पर एक नज़र डालें: http://blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc/

जाहिर है, एक एमवीसी में एक मॉड्यूल में कम से कम एक नियंत्रक और एक या कई दृश्य होंगे। लेकिन शायद आप जो कुछ चाहते थे वह केवल कुछ ही है, और इस प्रकार पारंपरिक वेबफॉर्म आर्किटेक्चर की तुलना में नियंत्रक को फिर से लिखना बहुत आसान है।

या शायद आप डेटा स्रोत को प्रतिस्थापित करना चाहते हैं, बस मॉडल इकाई में विधियों को ओवरराइड करें, और आप ऊपर और चल रहे हैं। यह एमवीसी में संपूर्ण कोर प्रिंसिपल है, कि आप तर्क के विभिन्न स्तरों को अलग करते हैं, और आपको ऐसा करने के लिए मजबूर किया जाता है, वेबफॉर्म के विपरीत जो आपको लिंक करते समय सीधे अपने दृश्य में एसक्यूएल करने की अनुमति देता है।

(वह एमवीसी भी इसका समर्थन करता है, यह डिजाइन द्वारा नहीं बल्कि विरासत से है।)

0

एक प्रारंभिक बिंदु के रूप में, आप इस लेख से कुछ विचारों को आकर्षित कर सकता है:

Spark View Engine - Modularity

और नमूना कोड:

spark/src/Samples/Modules

कोड स्पार्क देखें इंजन में है पेड़ (जो एक बहुत अच्छी और शक्तिशाली परियोजना है) लेकिन इसके साथ बहुत कुछ नहीं करना है। यह निर्भरता और सभी चीजों को बनाने के लिए कैसल का उपयोग करता है।

वैसे, मैं एमईएफ के साथ गड़बड़ कर रहा हूं लेकिन मुझे वास्तव में लाभ नहीं दिख रहे हैं और मुझे जो चीजें करने की ज़रूरत है वह कैसल और कुछ टूलिंग के साथ किया जा सकता है (असेंबली पूछताछ करने वाले सहायक और उस तरह की चीजें)।

1

के लिए अच्छा समाधान हो सकता है। दुर्भाग्य से यह आलेख एएसपी.नेट एमवीसी 3 का उपयोग करके लगभग एक साल पुराना था, इसलिए मैंने इसे फिर से लिखा और एएसपी.नेट एमवीसी 4 के साथ काम करने के लिए पद्धति का परीक्षण किया। आप read it here कर सकते हैं।

0

मैं समझता हूं कि इस प्रश्न का पहले से ही उत्तर दिया गया है। लेकिन, मैं इस विषय पर अधिक मौजूदा उत्तरों के लिए चारों ओर खोज कर रहा हूं। मैंने एरिया को देखा है, क्योंकि मूल उत्तर से पता चलता है, लेकिन लिविउ इग्नाट द्वारा निम्नलिखित लिंक (Part 1 और Part 2) में भी आया, जिसने इस प्रश्न का उत्तर एक प्लग करने योग्य मॉड्यूल परिप्रेक्ष्य से दिया।

संबंधित मुद्दे