2009-09-01 15 views
9

परिचय: अब मुझे पता है इस सवाल का बहुत व्यापक हो सकता है और यह भी बिना मुझे कुछ विशिष्ट पूछ जवाब देने के लिए मुश्किल होगा। तो मैं जो कुछ पूछता हूं वह सिर्फ कुछ दिशा है, या एक डिजाइन का एक संक्षिप्त उच्च स्तरीय स्पष्टीकरण है, या शायद वहां पहले से ही कुछ ढांचा है जो मुझे शुरू करने में मदद कर सकता है ... मुझे यकीन नहीं है .. मैंने कभी प्लगइन डिज़ाइन नहीं किया है पहले आर्किटेक्चर, तो शायद कुछ संसाधन/उदाहरण है जो आप मुझे वेब पर इंगित कर सकते हैं जो मुझे सीखने में मदद करेगा ताकि मैं अपने स्वयं के समाधान के साथ आ सकूं।MVC वेब अनुप्रयोग के साथ ASP.NET के लिए एक प्लगइन वास्तुकला डिजाइन करने के लिए कैसे

मेरे सवाल का विवरण: मेरे इरादे मैं एक नया पालतू जानवरों से परियोजना है कि मैं ASP.NET MVC में निर्माण कर रहा हूँ के लिए एक प्लग-इन आर्किटेक्चर बनाना चाहेंगे है।

मैं इसे डिज़ाइन करना चाहता हूं ताकि इसमें सभी के लिए प्लग-इन क्षमता हो या कम से कम, एप्लिकेशन के घटकों के लिए।

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

exapmle के लिए, मान लें कि मैं अपने वेब एप्लिकेशन में एक नया "संपर्क" सुविधा जोड़ता हूं जहां उपयोगकर्ता संपर्कों को खोज, जोड़ और हटा सकते हैं। मैं प्लगइन के जरिए इसे तैनात करने में सक्षम होना चाहता हूं।

क्या ऐसा कुछ भी वेब अनुप्रयोगों के लिए संभव है? या मैं बस सपना देख रहा हूँ?

+0

मैं एक ही चीज़ के बारे में सोच रहा हूं, और कई विचार हैं। Gmail पर सीधे मुझसे संपर्क करें। [जीटी] पर विचार करें –

उत्तर

3

यह निश्चित रूप से संभव है।

आपको एक सुंदर व्यापक इंटरफ़ेस को परिभाषित करने की आवश्यकता होगी जो आपके प्लगइन को जो कुछ भी करना है उसका प्रतिनिधित्व करता है। आपको अपने आवेदन के लिए "मूल" क्या है, और जहां एक्स्टेंसिबिलिटी पॉइंट्स हैं, को अलग करके इसे संपर्क करना चाहिए। उदाहरण के लिए, प्लगइन्स कहाँ पहुंचेगा? क्या वे एक पृष्ठ पर टैब होंगे, या साइडबार में लिंक होंगे? प्लगइन कंटेनर में फिट करने के लिए प्रत्येक प्लगइन की क्या आवश्यकता होती है?

आम तौर पर, प्लगइन इंटरफ़ेस को लागू करने वाली असेंबली की तलाश करके प्रतिबिंब के माध्यम से प्रतिबिंबित होते हैं।

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

1

हमेशा डीएलएल-रास्ता होता है जहां आप प्लगइन का पालन करने वाले कुछ इंटरफेस को परिभाषित करते हैं।

लेकिन वेब एप्लिकेशन के लिए, विशेष रूप से एएसपी.नेट एमवीसी के लिए, आपको नियंत्रक, विचार और अन्य की आवश्यकता है। शायद इन्हें संभालने के लिए तैयार नियंत्रक फैक्ट्री का उपयोग करके इन्हें एक डीएलएल फ़ाइल में शामिल किया जा सकता है, लेकिन इन प्लगइन्स को विकसित करना मुश्किल होगा। कोड (या डाटाबेस) एम्बेड की गई सामग्री के लिए कुछ प्रेरणा: Haacked about that

ASP.NET MVC संस्करण 2 क्षेत्रों, जहां आप अनुप्रयोग के भीतर विभिन्न फ़ोल्डर में आवेदन के कुछ भागों डाल सकते हैं का समर्थन करेंगे। इस तरह आप कुछ फाइलें अपलोड कर सकते हैं और ऐप इन नई फाइलों को पहचान लेगा।और पढ़ें Haacked blog

0

पीएस: मुझे एसओ पर एक और व्यक्ति मिला। मेरे जैसा ही प्रश्न पूछना: Plug-in architecture for ASP.NET MVC यह किसी भी विषय पर शोध करने वाले किसी के लिए उपयोगी हो सकता है।

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

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