2011-02-17 5 views
5

स्वीकार करता है कि "डैशबोर्ड" उपयोगिता कैसे बनाएं मुझे आशा है कि यह प्रश्न समझ में आता है। असल में, मैं दिशानिर्देशों का एक सेट, या यहां तक ​​कि एक ट्यूटोरियल की तलाश में हूं, जो दिखाएगा कि "मॉड्यूल" या "ऐड-इन्स"मॉड्यूल/ऐड-इन्स

उदाहरण के लिए, माइक्रोसॉफ्ट ऑफिस में, आप आमतौर पर उन प्रोग्रामों को देखेंगे जिन्हें आप डाउनलोड और इंस्टॉल कर सकते हैं और वे केवल माइक्रोसॉफ्ट वर्ड (उदाहरण के लिए) में एक अतिरिक्त टैब जोड़ देंगे जो कुछ नई सुविधा को लागू करेगा।

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

मैं शुरू करने के लिए एक जगह की तलाश में हूं, ज्यादातर।

अग्रिम धन्यवाद।

**

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

यह वास्तव में अच्छा होगा अगर मैं इस तरह से आ सकता हूं कि केवल एक बार फ़ाइल से डेटा पढ़ने की आवश्यकता हो, लेकिन मुझे पता है कि मेरे डेटा रीडर वर्ग को थोड़ा समायोजित करना शामिल होगा।

उत्तर

3

एक ही स्थान पर शुरू करने के लिए अपने भविष्य के मॉड्यूल के लिए एक इंटरफेस को परिभाषित है, और एक उपयोगिता है कि सभी dll का उसमें स्कैन करता है, कक्षाओं इंटरफ़ेस कहा लागू कि तलाश में निर्माण करने के लिए किया जाएगा।

एक बार जब आप वर्गों का समर्थन आप कार्यावधि में उदाहरण बना है और अपने आवेदन करने के लिए जोड़ सकते हैं पाया है। यही कारण है कि समर्थन "प्लग-इन"

उत्प्रेरक वर्ग एक आम तरीका रनटाइम पर एक प्रकार से उदाहरणों बनाने के लिए है के लिए नेट में एक आम मुहावरा है।

http://msdn.microsoft.com/en-us/library/system.activator.aspx

यह अपने सवाल में अधिक जानकारी के बिना अधिक जानकारी देने के लिए मुश्किल है। क्या आप थोड़ा सा विस्तार कर सकते हैं?

+0

मैं जोड़ता हूं कि यह प्लगइन सिस्टम के अधिक सामान्य स्पष्टीकरण के साथ भी कर सकता है। यह एक मामूली समाधान नहीं है, और आप जल्दी से इसके साथ परेशानी में भाग सकते हैं।(मुझे कोई सामान्य ट्यूटोरियल एटीएम नहीं मिल रहा है) – Aatch

+0

निश्चित रूप से, मैंने थोड़ा और जानकारी शामिल करने के लिए संपादित किया। – Eric

+0

मुझे लगता है कि पाठ फ़ाइलों से इस सामान को पढ़ने की कोशिश करना बहुत काम होगा। जब तक आप गारंटी नहीं दे सकते कि यह बात सरल रहेगी, मैं अनुशंसा करता हूं कि निष्पादन योग्य मॉड्यूल गतिशील रूप से लोड हो जाएं। तो हो सकता है कि एक नया नियंत्रण लिखें जिसमें एक बटन है और एक ग्राफ खींचता है, और इसे अपने ऐप के फ़ोल्डर में स्कैन करने और पकड़ने के लिए छोड़ देता है - किसी प्रकार के नियंत्रण के लिए डिटो जो एक टेबल प्रिंट करता है, जैसा आपने कहा था। –

3

Microsoft से Composite Application Library पर एक नजर डालें।

इसका उद्देश्य WPF पर है लेकिन आप वहां से कुछ विचार प्राप्त कर सकते हैं।

2

के रूप में एडम ने कहा, ऐसा करने के लिए पहली बात अपने प्लगइन मॉड्यूल के लिए इंटरफेस को परिभाषित है - क्या वे कंटेनर से प्राप्त करने की अपेक्षा कर सकते हैं, और क्या तरीकों कंटेनर कॉल करने के लिए सक्षम होना चाहिए?

जहां तक ​​कंटेनर में ही चला जाता है, मैं एक स्थान प्रौद्योगिकी के रूप में MEF के लिए आंशिक हूँ, जब आप नए डीएलएल जोड़े जाते हैं तो आप कैटलॉग बना सकते हैं और सिस्टम को दोबारा लिख ​​सकते हैं। मैंने अलग-अलग फाइलों को पार्स करने के लिए एक समान प्रणाली बनाई है, और एमईएफ की रचना क्षमताओं रनटाइम डिस्कवरी के लिए बहुत ही बढ़िया हैं।

+0

मैंने एमईएफ के बारे में कुछ पढ़ा है। यह एक आईओसी की तरह है, लेकिन अधिक मजबूत क्षमताओं के साथ ??? –

+0

यह वास्तव में एक आईओसी कंटेनर नहीं है - मैंने निकटतम एनालॉग के साथ काम किया है स्ट्रक्चर मैप का 'सिंगल इम्प्लिमेंटेशनऑफइंटरफेस'/'विद डीफॉल्ट कॉन्वेन्शन' धाराप्रवाह कॉन्फ़िगरेशन विधियां (इसमें वे कक्षाओं/इंटरफेस को सीधे संदर्भित किए बिना आईओसी को तारित करते हैं)। एमईएफ डीएलएल का निरीक्षण करने के लिए क्षमताओं का एक सेट है जो संकलन समय पर कंटेनर के लिए ज्ञात नहीं था, और कक्षाओं से सिस्टम को लिखने के लिए जो रन के समय अपने मानदंडों को पूरा करता है। यदि आप 'आईनेमरेबल ' आयात करते हैं, तो आपको प्रत्येक कार्यान्वयन का एक उदाहरण मिलेगा यदि आईएमएफ जो भी असेंबली में मिल सकता है, तो 'IMyPlugin'। – arootbeer