2015-07-15 6 views
6

मैं डीडीडी के बारे में झुका रहा हूं, इसलिए मेरा प्रश्न बेकार है। मुझे लगता है कि उपयोगकर्ताओं को डेटा प्रदर्शित करने के लिए मुझे स्थानीय डेटा ट्रांसफर ऑब्जेक्ट का उपयोग करने की आवश्यकता है क्योंकि बहुत से गुण किसी भी इकाई/मूल्य ऑब्जेक्ट्स का हिस्सा नहीं हैं।डीडीडी - कौन सी परत डीटीओ लागू की जानी चाहिए

हालांकि, मुझे यकीन नहीं है कि यह डीटीओ लागू किया जाना चाहिए - एक डोमेन परत में या एक अनुप्रयोग सेवा परत में। डीटीओ कार्यान्वयन डोमेन का हिस्सा लगता है, लेकिन इसका मतलब है कि जब मैं सेवा परत में डीटीओ का संग्रह बनाता हूं और इसे प्रेजेंटेशन लेयर में पास करता हूं, तो मुझे प्रेजेंटेशन लेयर में डोमेन लेयर का संदर्भ देना होगा, जो गलत लगता है।

डीडीडी सिद्धांतों का उपयोग कर डीटीओ को लागू करने का सही तरीका क्या है?

+0

क्यों धारणा है कि एक डीटीओ डोमेन का हिस्सा है के तहत आप कर रहे हैं? एक डीटीओ एक तकनीकी प्रतिनिधित्व है जो क्रमिक अनुकूल है। – plalx

+0

आपके सभी उत्तरों के लिए धन्यवाद। यह मेरे सिर में चीजों को और स्पष्ट कर दिया। – user2105030

+0

यह एक क्यूए साइट है। कृपया अन्य लोगों को सही उत्तर खोजने में सहायता करने के लिए स्वीकृत (यदि कोई हो) के रूप में एक एवर चिह्नित करें। – jlvaquero

उत्तर

3

इसे सेवा परत में रखें। डीटीओ सेवा परत का एक आउटपुट है, अगर आप इसे वहां परिभाषित करते हैं तो यह समझ में आता है।

डोमेन लेयर में अपना डीटीओ न डालें। डीटीओ एक सेवा परत इनपुट/आउटपुट है, डोमेन लेयर इसकी परत के बाहर चीजों की परवाह नहीं करता है।

2

योरो डीटीओ कहां रखना है, इसके बारे में सही है लेकिन मैं आपको "डीटीओ मानसिकता" से बचने के लिए प्रोत्साहित करता हूं। सोचने का यह तरीका सोचने के डीडीडी तरीके से टकराता है।

"मुझे यहां एक डीटीओ की आवश्यकता है" के बारे में सोचकर तकनीकी प्रतिनिधित्व के बारे में सोच रहा है (जैसा कि प्लैक्स कहते हैं); यह बहुत कम अवशोषण का स्तर है। अचूक स्तर का अचूक स्तर आज़माएं और अपने डोमेन, उपयोगकर्ता के कार्यों और अपने यूआई के बारे में सोचें।

क्या आपको उपयोगकर्ता को डेटा देखने की आवश्यकता है? इसे एक व्यू सेवा के माध्यम से यूआई में लाएं जो एक विशिष्ट YourViewInfo क्लास लौटाता है।

क्या आपको कार्य करने के लिए कुछ सेवा में डेटा भेजने की आवश्यकता है? इसे एक विशिष्ट TaskMessageInfo क्लास या एक विशिष्ट कमांड क्लास भेजें।

जब आप इन कक्षाओं के आंतरिक मॉडलिंग को शुरू करना शुरू करते हैं तो आपको तकनीकी प्रतिनिधित्व के बारे में सोचना शुरू करना चाहिए; तो आप इस निष्कर्ष तक पहुंच सकते हैं कि, यानी, सुविधा के लिए डीटीओ कक्षाएं हो सकती हैं।

इस तरह से विचार करने से आपको प्रणाली मॉडल करने के लिए मदद करता है और

कहाँ रखना जैसे प्रश्नों को गति प्रदान नहीं करता है या इस बात का है?

+0

क्या आपका पॉइंट बस एक अलग नाम का उपयोग कर रहा है? YourViewDTO के बजाय YourViewInfo? –

+1

@ मार्कसपस्कीट संख्यामेरा मुद्दा यह है कि एक डोमेन संदर्भित आर्किटेक्चर (डीडीडी) डीटीओ में इसका मतलब कुछ भी नहीं है, इसलिए आप यह नहीं पूछ सकते कि वे कहां रखा गया है। आप डीटीओ के बारे में बात कर सकते हैं यदि आप कुछ समझाने के लिए अवधारणाओं को सामान्यीकृत कर रहे हैं, लेकिन आपके आर्किटेक्चर में, आपको डीटीओ मॉडल नहीं करना चाहिए; आप संदर्भ का मॉडल करते हैं और संदर्भ यह निर्धारित करता है कि मॉडल कहां रखा गया है। मेरा मुद्दा यह है कि डीडीडी दुनिया में सवाल का कोई मतलब नहीं है। – jlvaquero

4

डीटीओ और डोमेन विभिन्न परतें हैं।
इसलिए इसे एक से दूसरे में मैपिंग की आवश्यकता होती है और आमतौर पर इसे एप्लिकेशन सर्विसेज लेयर कहा जाता है।
डीटीओ और लेयरिंग के साथ गहराई में जाने के लिए निम्न लेख पर एक नज़र डालें:

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