डोमेन परत (डीएल)/बिजनेस (सर्विस) लेयर (बीएल)/प्रेजेंटेशन लेयर (पीएल) के साथ एक बहु-परत परियोजना में, प्रेजेंटेशन लेयर में इकाइयों को वितरित करने का सबसे अच्छा तरीका क्या है?डोमेन बनाम डीटीओ बनाम व्यूमोडेल - उन्हें कैसे और कब उपयोग करें?
DO => Domain Object;
DTO = Domain Transfer Object;
VM => View Model;
V => View;
विकल्प 1:
DL => DO => BL => DTO => PL => VM => V
यह विकल्प बेस्ट प्रैक्टिस प्रतीत हो रहा है, लेकिन यह भी mantain करने के लिए भारी लगता है।
विकल्प 2:
DL => DO => BL => DTO => PL => V
यह विकल्प बहुत अच्छा अभ्यास नहीं लगता है, लेकिन के रूप में डीटीओ वीएम के लिए लगभग समान हैं, हम इसे सीधे देखें पारित कर सकते हैं और इसे लागू और mantain करने के लिए कम painfull है।
क्या यह विकल्प कई लेआउट के लिए भी विश्वसनीय है, उदाहरण के लिए, मोबाइल उपकरणों के लिए मुझे बीएल से कम जानकारी की आवश्यकता हो सकती है, इसलिए मुझे इस विशेष लेआउट के लिए एक अलग वीएम की आवश्यकता होगी?
आपके उत्तर के लिए धन्यवाद, तो आप कह रहे हैं कि प्रत्येक डीटीओ के पास एक मानसिक दृष्टिकोण में अपना स्वयं का वीएम होना चाहिए? – Patrick
आप कुछ व्यवस्थापक दृश्यों में सीधे डीटीओ का उपयोग कर सकते हैं या जब इसे केवल एक ही स्थान पर उपयोग किया जाता है। एक बार जब आप एक से अधिक स्थानों में डीटीओ का उपयोग करने की आवश्यकता देखते हैं तो दृश्य मॉडल बनाना। दूसरी तरफ यदि आप डोमेन, डीटीओ, व्यूमोडेल दृष्टिकोण के साथ जा रहे हैं तो इसमें अतिरिक्त ऑब्जेक्ट्स (बीच के बीच ऑटोमैपर के साथ) बनाने में लंबा समय नहीं लगता है और यह तय करने का प्रयास करने के लिए किसी भी समय बचाता है कि किस का उपयोग करना है। प्रोजेक्ट पर यह जानने के लिए कि यह क्या करना है, इसे किसी और के लिए स्पष्ट बनाता है। आईएमएचओ, यह लंबे समय तक अधिक समय बचा सकता है और आपके कोड को थोड़ा सा बनाए रखने योग्य बना सकता है। विचारों में केवल दृश्यमान होने के कारण कई तरीकों से मदद मिलती है ... – dove
हमेशा आपके डोमेन, टीम और प्रोजेक्ट के आकार पर निर्भर करता है। – dove