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