2011-02-28 16 views
7

मॉड्यूलर अनुप्रयोगों के साथ मॉड्यूलर अनुप्रयोगों का मतलब है कि उन अनुप्रयोगों जिनमें मूल कार्यक्षमता और डेटा मॉडल को कोर एप्लिकेशन कोड संशोधित किए बिना बढ़ाया जा सकता है।एंटिटी फ्रेमवर्क कोड केवल और एएसपी.नेट एमवीसी

उदाहरण के साथ यह एक लोकप्रिय दृष्टिकोण है। शुगरसीआरएम या वीटीगर जैसे खुले स्रोत सीआरएम।

इस दृष्टिकोण का उपयोग क्षेत्र या एमवीसी contrib से पोर्टेबल क्षेत्रों का उपयोग कर एएसपीएनटी एमवीसी आवेदन में किया जा सकता है जो कोर डीएलएस को प्रभावित किए बिना, अलग असेंबली में नए नियंत्रकों और विचारों को जोड़ने की अनुमति देता है।

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

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

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

+0

क्या आपने अभी तक कोड का उपयोग किया है? – jfar

+0

समय के लिए बहुत सीमित लगता है, लेकिन इस तरह की विस्तारशीलता की संभावना स्विच करने के लिए एक अच्छे कारण की तरह दिखती है। – aaimnr

+0

यह बहुत समय पहले पूछा गया था, हालांकि मैं जानना चाहता हूं कि आपने @deadbeef क्या किया था। मैं एक समान वैचारिक समस्या में चल रहा हूं – MrJD

उत्तर

3

मैंने इसे ईएफ कोड फर्स्ट और कोर मॉड्यूल पर जीयूआई एक्सटेंशन पॉइंट्स का संयोजन करके हासिल किया है। यह के परिणामस्वरूप:

  • प्रत्येक मॉड्यूल स्टैंडअलोन एप्लिकेशन के रूप में व्यवहार किया जाता (जीयूआई को छोड़कर)
  • प्रत्येक मॉड्यूल यह खुद डेटाबेस है (के रूप में कोड पहले चला जाता है & डेटाबेस का पुनर्निर्माण करने वाला)
  • प्रत्येक मॉड्यूल है किसी अन्य मॉड्यूल में आवश्यक डेटा डुप्लिकेट कर सकते हैं
  • प्रत्येक मॉड्यूल सेवा
  • प्रत्येक मॉड्यूल टी का विस्तार कर सकता है वह मूल विस्तार अंक के माध्यम से जीयूआई एक आईओसी कंटेनर
  • मॉड्यूल से प्रत्येक के साथ संवाद कर सकते हैं के माध्यम से या तो अतुल्यकालिक संदेश भेजने (nServiceBus) और तुल्यकालिक आरपीसी (WCF)

कृपया ध्यान दें कि यह एक उद्यम है के माध्यम से एप्लिकेशन जिसे हमने एसओए के लिए डिज़ाइन किया था।

ईएफ कोड के साथ पहले, यदि आप मैन्युअल रूप से अपना डेटाबेस प्रबंधित करते हैं (यानी & पुन: निर्माण न करें), तो आप ऊपर कुछ अवधारणाएं ले सकते हैं और इसे सरल बना सकते हैं। आपको इसका समर्थन करने के लिए कस्टम IDatabaseInitializer की आवश्यकता हो सकती है लेकिन यह संभव होना चाहिए।

+0

क्या प्रश्नकर्ता एक ही डीबी समाधान मांग रहे हैं? – jfar

+0

सच है, मैं एक सरल समाधान की तलाश में हूं। फिर भी यह दृष्टिकोण काफी दिलचस्प है (ज्यादातर स्थितियों में अधिक होने के बावजूद)। – aaimnr

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