2009-05-05 11 views
5

अक्सर यूआई पर विभिन्न तरीकों से प्रदर्शित डोमेन ऑब्जेक्ट की आवश्यकता होती है; सूची, खोज परिणाम, पृष्ठों को देखने और संपादित करने के साथ-साथ शीर्षलेख, पाद लेख और पॉपअप में भी संपादित करें। आम तौर पर आपके पास डोमेन ऑब्जेक्ट के कई अलग-अलग "दृश्य" होते हैं, प्रत्येक अलग-अलग फ़ील्ड प्रदर्शित होते हैं।पॉको बनाम डीटीओ: क्या आंशिक रूप से डोमेन ऑब्जेक्ट को हाइड्रेट करना ठीक है?

अधिकांश सलाह डेटा को प्राप्त करने के लिए एक डीटीओ का उपयोग करना प्रतीत होता है जब आपको सबसेट या सुपरसेट की आवश्यकता होती है। डीटीओ को बनाए रखने में बहुत अधिक उपर है। क्या यह प्रत्येक परिदृश्य के लिए आवश्यक डोमेन ऑब्जेक्ट के गुणों को भरने का एक बुरा दृष्टिकोण है। उदाहरण के लिए आप यह कहने के लिए एक प्रोफ़ाइल का उपयोग कर सकते हैं कि गुणों को किस प्रकार शामिल किया जाना चाहिए, उदाहरण के लिए:

सेवा। GetDomainObjects (int listID, Profile.ListProfile); सेवा। गेटडोमेन ऑब्जेक्ट्स (स्ट्रिंग सर्च पैराम, प्रोफाइल। सर्चप्रोफाइल);

उत्तर

3

मेरे लिए यह नीचे आता है कि आप कहां से ऊपर की ओर जाना चाहते हैं, या तो आप अपने डीटीओ का प्रतिनिधित्व करने के लिए विभिन्न वर्गों का एक सेट होने जा रहे हैं, या आपके पास प्रत्येक तरीके से सेट करने के तरीकों का एक सेट होगा एक ही डोमेन ऑब्जेक्ट लेकिन विभिन्न क्षेत्रों के साथ 'हाइड्रेटेड' है।

सवालों की एक जोड़ी मैं मदद करने के लिए फैसला लेने के लिए पूछना चाहते हैं:

  • संपूर्ण वस्तु hydrating में भूमि के ऊपर क्या है? क्या अतिरिक्त जटिलता (डीटीओ या आंशिक रूप से हाइड्रेटेड ऑब्जेक्ट्स) वास्तव में सार्थक है?
  • कोई और आपके कोड का उपयोग करने जा रहा है? आप लोगों को समान रूप से हाइड्रेटेड वस्तुओं से भ्रमित नहीं करते हैं, जब लोग आपका कोड बनाए रखने के लिए डीटीओ अधिक स्पष्ट हो सकते हैं।

मेरे पास डीटीओ के लिए थोड़ी व्यक्तिगत वरीयता है क्योंकि मुझे लगता है कि आपके सिस्टम का दीर्घकालिक रखरखाव आसान होगा। यदि आपका एक आदमी बैंड है, या यह एक फेंकने वाला ऐप है, तो मैं पूरी तरह से समझ सकता हूं कि अतिरिक्त कक्षाओं का एक गुच्छा पेश करना नहीं चाहता जो आपके कोड को अव्यवस्थित कर देगा।

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