डीडीडी में कुल मिलाकर लेनदेन सीमा का प्रतिनिधित्व करना चाहिए। एक लेनदेन जिसके लिए एक से अधिक योग की भागीदारी की आवश्यकता होती है अक्सर यह संकेत होता है कि मॉडल को परिष्कृत किया जाना चाहिए, या लेनदेन संबंधी आवश्यकताओं की समीक्षा की जानी चाहिए, या दोनों।एकाधिक समेकन प्रति लेनदेन रूट इंस्टेंसियां
क्या इसका मतलब यह है कि लेनदेन सीमा प्रति कुल रूट इंस्टेंस या प्रति कुल है?
कहें कि मेरे पास "नोड" नामक एक समग्र रूट है, प्रत्येक "नोड" के भीतर मेरे पास "फ़ील्ड्स (वैल्यू ऑब्जेक्ट्स)" का संग्रह है। प्रत्येक "फ़ील्ड" एक प्रकार का है, और टाइप "नोड" का हो सकता है। मेरे मामले में, यदि यह टाइप "नोड" है, तो मैं आईडी को "नोड" कुल रूट में संग्रहीत करूंगा।
Node (AggregateRootID 1)
---> Field1 : String (John)
---> Field2 : String (Doe)
---> Field3 : Node (AggregateRootID 2)
Node (AggregateRootID 2)
--> Field1 : String (Jane)
--> Field2 : String (Doe)
यदि मेरे पास एक लेनदेन है जो समेकित रूट्स दोनों अद्यतनों को अद्यतन करता है, तो क्या यह वैध है?
या इसका मतलब यह है कि यदि मेरे पास "नोड" कुल और "तत्व" कुल मिलाकर मैं एक लेनदेन में दोनों को अपडेट नहीं कर सकता?
यह आंशिक रूप से गलत है, एआर स्थिरता सीमाएं हैं, लेकिन एआर भी लेनदेन सीमाएं हैं। प्रति लेनदेन में एक से अधिक कुल संशोधित करने की अनुमति देकर आप उस बिंदु तक झूठी समवर्ती अपवादों का जोखिम बढ़ाएंगे जहां सिस्टम अनुपयोगी हो सकता है। हालांकि प्रति लेनदेन एकाधिक एआर बनाया जा सकता है। – plalx
तो क्या आप कह रहे हैं कि यह भी आंशिक रूप से सही है? :) किसी को परिदृश्य में अक्सर भाग नहीं लेना चाहिए और यह एक डिजाइन समस्या को बहुत अच्छी तरह से इंगित कर सकता है और इसके आसपास विभिन्न तरीके हो सकते हैं। दो खातों के बीच धन हस्तांतरण ले लो। यदि कोई खाता एआर है तो आप शायद 100% लगातार दोनों चाहते हैं। हालांकि, असली दुनिया में दोनों खातों पर शायद ही कभी नियंत्रण होता है इसलिए अंतिम स्थिरता पर्याप्त होनी चाहिए। वैसे भी, मैं सहमत हूं कि यदि संभव हो तो किसी को इन परिदृश्यों से बचने की कोशिश करनी चाहिए। –