देखने के लिए डीडीडी एप्लिकेशन सेवा डोमेन मॉडल एप्लिकेशन सेवाओं की मेरी समझ यह है कि वे डोमेन और उपयोगकर्ता इंटरफ़ेस के बीच एक साथ लिंक करते हैं। दूसरे शब्दों में, वे डोमेन पर संचालन करने के लिए नियंत्रक की सेवा करते हैं।मॉडल मैपिंग
मैं अपने आवेदन में निम्नलिखित परियोजना लेआउट:
- डोमेन कोर
- इंफ्रास्ट्रक्चर
- सेवा इंटरफ़ेस
- वेब UI
- ViewModels
- दृश्य
- नियंत्रकों
- सेवा (अनुप्रयोग सेवा)
Web UI
परियोजना के बाहर मेरे Service Interfaces
निहित है। फिर Web UI
प्रोजेक्ट में मैं Services
के तहत सेवाओं के इंटरफेस को कार्यान्वित करता हूं।
हालांकि यह संरचना थोड़ा सा दोषपूर्ण है और जब हम इसे अभ्यास में रखते हैं तो एक परिपत्र निर्भरता बनाता है। मैंने इस लिंक में वास्तुकला का पालन करने की कोशिश की। https://www.develop.com/onionarchitecture
किसी दिए गए सेवा के लिए, मैं दृश्य मॉडल में पास करना चाहता हूं, दृश्य मॉडल के आधार पर डोमेन पर संचालन करना चाहता हूं, फिर एक अद्यतन दृश्य मॉडल वापस कर सकता हूं। क्या यह दृष्टिकोण गलत है?
क्या मेरी समझ सही है कि सार सेवा में अनुप्रयोग सेवा पैरामीटर के रूप में दृश्य मॉडल लेती है, डोमेन में कुछ विवरण अपडेट करती है और यदि मॉडल की आवश्यकता होती है तो मॉडल को देखते हैं और फिर दृश्य मॉडल लौटाते हैं?
या
आवेदन सेवा केवल ग # डेटाटाइप्स और एक पैरामीटर के रूप डोमेन मॉडल से निपटने के लिए और एक ही डेटाटाइप्स देता है? दूसरे शब्दों में किसी दृश्य मॉडल में कोई जानकारी प्राप्त या सेट नहीं होती है। वास्तव में पता नहीं है कि मॉडल मॉडल मौजूद है।
मुझे सख्त डीडीडी दृष्टिकोण से सबसे अच्छा तरीका क्या है इस पर कुछ स्पष्टीकरण की आवश्यकता है।
एप्लिकेशन सेवाएं आमतौर पर प्रस्तुति (UI) परत में नहीं रहती हैं, उस उद्देश्य के लिए एक एप्लिकेशन परत है। – plalx
क्या मैं उन सेवा कार्यान्वयन के लिए एक अलग परियोजना बना सकता हूं या उन्हें सेवाओं के तहत रख सकता हूं, जहां मेरे इंटरफेस झूठ बोलते हैं? –
आप सभी चीजों को एक परियोजना में एक साथ रख सकते हैं, जब तक आप प्रत्येक घटक/परत के लिए निर्देशिका समर्पित करते हैं। – MikeSW