मैं नेट पर नया हूं और चीजों को सीखने की कोशिश कर रहा हूं। मैं, प्रिज्म 4 डब्ल्यूपीएफ ऐप - एमवीवीएम, रिपोजिटरीज और वर्क पैटर्न के यूनिट के साथ समाधान आर्किटेक्चर
- दृश्य स्टूडियो CSharp 2010 एक्सप्रेस संस्करण के साथ एक Prism4 WPF अनुप्रयोग विकसित करने के लिए कोशिश कर रहा हूँ।
मैं एक बहुत (?) का अध्ययन किया और दूसरों के बीच में this और this द्वारा infuenced, और MVVM, भंडार और UnitofWork पैटर्न लागू करने का फैसला किया है।
- शैल (आवेदन लेआउट और स्टार्टअप तर्क)
- : इस आवेदन (मुझे :-)
तो, मैं एक समाधान निम्नलिखित परियोजनाओं के साथ बना लिया है एक ही उपयोगकर्ता के साथ एक डेस्कटॉप अनुप्रयोग हो जाएगा आम (अनुप्रयोग बुनियादी ढांचा और कार्यप्रवाह तर्क)
- BusinessModuleA (दृश्य और ViewModels)
- BusinessModuleA.Model (व्यावसायिक संस्थाओं - POCO)
- BusinessModuleA.Data (डेटा संग्रह स्थान, Dat एक एक्सेस (एफई?))
- BusinessModuleB (दृश्य और ViewModels)
- BusinessModuleB.Model (व्यावसायिक संस्थाओं - POCO)
- BusinessModuleB.Data (डेटा संग्रह स्थान, डेटा एक्सेस (एफई?))
मेरे प्रश्न हैं:
- कौन सी परियोजनाओं को संदर्भित करना चाहिए परियोजनाओं?
- यदि मैं 'BusinessModuleX.Data' में रेपॉजिटरीज़ को कार्यान्वित करता हूं, जो स्पष्ट है, तो मुझे आईरिपॉजिटरीज़ कहां परिभाषित करनी चाहिए?
- मुझे IUnitOfWork को कहां परिभाषित करना चाहिए और मुझे UnitOfWork को कहां कार्यान्वित करना चाहिए?
- क्या यह ठीक है अगर मैं अपने ViewModels में UnitOfWork और Repositories का उपभोग करता हूं? इंस्टीट्यूट का कहना है कि यह खराब डिजाइन है।
- यदि (4) ऊपर खराब है, तो ViewModel को सेवा परत (अन्य प्रोजेक्ट?) के माध्यम से डेटा प्राप्त करना चाहिए। फिर, हम इकाइयों में परिवर्तनों को ट्रैक कैसे कर सकते हैं ताकि सेवा परत पर उन ऑब्जेक्ट्स पर प्रासंगिक CRUD विधियों को कॉल किया जा सके?
- क्या इनमें से कोई भी कोई समझ में आता है या क्या मुझे बड़ी तस्वीर याद आ रही है?
ठीक है, हो सकता है मैं अपने आप को क्या मैं अपनी पहली पोस्ट में वास्तव में चाहता था पर स्पष्ट नहीं किए हैं। कई जवाब नहीं आ रहे हैं। मैं अभी भी जवाब ढूंढ रहा हूं क्योंकि तत्काल आवश्यकताओं के लिए @Rachel सुझाया गया क्या प्रभावी हो सकता है, मैं सावधान रहना चाहता हूं कि मुझे कोने में खुद को पेंट न करें। मेरे पास एक एक्सेस डीबी है जिसे मैंने कार्यालय में अपने व्यक्तिगत उपयोग के लिए विकसित किया है, और जो कि सफलता की तरह बन गया है और अब 50+ उपयोगकर्ताओं द्वारा उपयोग किया जा रहा है और बढ़ रहा है।एक्सेस कोड बेस को बनाए रखना और संशोधित करना शुरुआत में काफी सरल रहा है, लेकिन जैसे ही ऐप विकसित हुआ, अलग-अलग गिरना शुरू हो गया। यही कारण है कि मैंने नेट/डब्लूपीएफ/प्रिज्म में सबकुछ फिर से लिखना चुना है और यह सुनिश्चित करना चाहता हूं कि मुझे मूल डिजाइन सही हो।
कृपया चर्चा करें।
इस बीच, मैं this...
हाय, प्रतिक्रिया के लिए धन्यवाद। एम-वी-वीएम को फ़ोल्डर्स में व्यवस्थित नहीं करता है लेकिन उसी प्रोजेक्ट में उन्हें कसकर जोड़ दिया जाता है? हां, मेरे मॉड्यूल में प्रत्येक का अपना डीबी होता है और पाठ्यक्रम, 'सामान्य' को छोड़कर, अन्य मॉड्यूल से पूरी तरह से असंबंधित/अनजान है। – yoursvsr
मेरा चौथा सवाल यूनिटऑफवर्क 'और' रिपोजिटरीज नॉट 'या' का उपयोग करने के बारे में है। मुझे लगता है कि रिपोजिटरीज कन्स्ट्रक्टर हैं जो यूनिटऑफवर्क के साथ अपना काम करने के लिए इंजेक्शन दिए जाते हैं।इसके अलावा, प्रत्येक मॉड्यूल को अपने डेटाएक्सलोगिक को फिर से जोड़कर सभी चीजें हवादार, सही? मुझे आश्चर्य है कि क्या यह ढीला युग्मन और मॉड्यूलर विकास का बहुत मकसद है कि प्रिज्म और ऊपर सूचीबद्ध पैटर्न मैं प्राप्त करने की कोशिश करता हूं। – yoursvsr
@yoursvsr ऑब्जेक्ट्स एक प्रोजेक्ट साझा कर सकते हैं और अभी भी decoupled हो सकते हैं। उदाहरण के लिए, एमवीवीएम में केवल वही संदर्भ दिए जाने चाहिए जो आपके मॉडल को संदर्भित करते हुए आपके व्यू मॉडल्स हैं, और आपके दृश्य मॉडल/व्यू मॉडेल का संदर्भ देते हैं। जहां वास्तविक वस्तुओं मौजूद हैं वास्तव में कोई फर्क नहीं पड़ता। – Rachel