सबसे लंबे समय तक मैं अपने डोमेन मॉडल को मेरे डीटीओ में मैप करने के लिए ऑटोमैपर का उपयोग कर रहा हूं, साथ ही साथ मेरे डीटीओ को डोमेन मॉडल पर मैपिंग भी कर रहा हूं।डोमेन मॉडलों पर बाल संग्रह वाले डीटीओ मैपिंग के लिए डिज़ाइन पैटर्न
मैं अपने ओआरएम के लिए ईएफ 4 का उपयोग कर रहा हूं, और इस मानचित्रण में वास्तव में बदसूरत हो जाता है जब मॉडल मैप किए जाने वाले बच्चे संग्रह होते हैं जिन्हें जोड़ने/अपडेट/निकालने की आवश्यकता होती है। जैसे-जैसे मैं अपनी परियोजना के साथ आगे बढ़ता हूं, मैं इस समस्या में और अधिक से अधिक चल रहा हूं: ब्लॉग पोस्ट के लिए फोटो, ऑर्डर के लिए पैकेज इत्यादि।
डीटीओ-> डोमेन मॉडल से जाने पर, मुझे अंत में एक जोड़ना पड़ता है पहले मैप कॉल जो डोमेन मॉडल के संग्रह से सभी इकाइयों को हटा देता है और उसके बाद संग्रह के लिए कस्टम वैल्यू रीसोलवर जोड़ता है जो डीटीओ से प्रत्येक इकाई का पीके लेता है, इसे डीबी से पकड़ता है (ताकि इकाई फ्रेमवर्क मुझे नहीं लगता कि मैं जोड़ रहा हूं एक नई इकाई), और इसे डोमेन मॉडल के संग्रह में फिर से जोड़ती है और फिर व्यक्तिगत फ़ील्ड में कोई भी अपडेट लागू करती है।
यह वास्तव में बदसूरत समाधान है, लेकिन इन संग्रहों को मैन्युअल रूप से अद्यतन करने के मेरे मैन्युअल रूप से हैंडल करने के मेरे प्रयास भी हैं। क्या किसी के पास क्लीनर दृष्टिकोण के लिए कोई सुझाव है?
Automapper का उपयोग करते हुए अपने डोमेन मॉडल मैप करने के लिए संभवत: आपके उपयोग नहीं कर डोमेन प्रेरित डिजाइन का मतलब है। बस केह रहा हू। – jfar
क्या मेरे लिए कुछ ऑटो-मैजिक मैपिंग समाधान का उपयोग करके इस मानचित्रण को साफ तरीके से संभालना चाहते हैं? क्या मुझे अपने डीटीओ से अपने डोमेन मॉडल को अपडेट करने के लिए पूरी तरह से सेवा बनाना चाहिए? – inolen
@jfar आप कैसे समझते हैं? सबसे पहले, एक डोमेन मॉडल डीडीडी के समानार्थी नहीं है। यह लागू करना कि डोमेन मॉडल को मैप नहीं किया जाना चाहिए, इसे "डोमेन संचालित डिज़ाइन का उपयोग न करने" के रूप में बंद करना, और कोई और स्पष्टीकरण प्रदान करना बहुत उपयोगी नहीं लगता है, है ना? एक स्तरित वास्तुकला में डोमेन मॉडल के शीर्ष पर बैठे एक सेवा परत को ढूंढना असामान्य नहीं है। सेवा परत के लिए डोमेन, यूई और अन्य परतों से ट्रैनफर ऑब्जेक्ट के माध्यम से बात करना असामान्य नहीं है - इन परतों के बीच "चमकदार रेखा" रखने में मदद करना। – nerraga