यह प्रश्न भाषा अज्ञेयवादी है लेकिन मैं एक सी # लड़का हूं इसलिए मैं पीओसीओ शब्द का उपयोग उस ऑब्जेक्ट के लिए करता हूं जो केवल डेटा संग्रहण को पूर्ववत करता है, आमतौर पर गेटर और सेटर फ़ील्ड का उपयोग करता है।मेरी सरल डोमेन ऑब्जेक्ट्स (पीओसीओ) से डेटा सत्यापन कैसे अलग करें?
मैंने अपने डोमेन मॉडल को सुपर-डुप्कर पीओसीओ के रूप में फिर से काम किया है और यह सुनिश्चित करने के लिए कि संपत्ति मूल्यों को डोमेन को समझ में आता है, इस बारे में कुछ चिंताओं के साथ छोड़ दिया गया है।
उदाहरण के लिए, सेवा का समाप्ति दिनांक उस अनुबंध के समाप्ति से अधिक नहीं होना चाहिए जो सेवा अधीन है। हालांकि, यह सेवा में चेक डालने के लिए सॉलिड का उल्लंघन जैसा लगता है। एंडडेट सेटटर, यह उल्लेख नहीं करना चाहिए कि सत्यापन की संख्या को बढ़ाने के लिए मेरी पीओसीओ कक्षाएं खराब हो जाएंगी।
मेरे पास कुछ समाधान हैं (उत्तर में पोस्ट करेंगे), लेकिन उनके पास नुकसान हैं और मुझे आश्चर्य है कि इस दुविधा को हल करने के लिए कुछ पसंदीदा दृष्टिकोण क्या हैं?
में निर्दयी होना चाहिए, ये वस्तुएं व्यवहार को समाहित नहीं करती हैं। यह पूरी बात है। वे मेरे डोमेन का प्रतिनिधित्व करते हैं। बस इतना ही। व्यवहार कहीं और प्रदान किया जाता है। –
आपके डोमेन का कोई व्यवहार नहीं है? –
डोमेन मॉडल का कोई व्यवहार नहीं है। व्यवहार अलग से जुड़ा हुआ है। सेवाएं मॉडल का उपयोग करके सामान करती हैं। कम से कम यह पूरी डीडीडी चीज पर मेरा पढ़ा है। –