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