में नेस्टेड समेकन से निपटना मैं बस डीडीडी में शुरू कर रहा हूं, और मुझे कुछ डेटा मिल रहा है कि मेरे डेटा की रिलेशनशिप प्रकृति को कैसे समायोजित किया जाए। मेरे पास मेरा विश्वास है कि मुझे मेरी कुल जड़ माना जाएगा, लेकिन कुल मिलाकर कुल मिलाकर भी इसका कुल योग होगा। डेमेटर के कानून का उल्लंघन नहीं करना चाहते हैं, मैं सोच रहा हूं कि क्या मैं इस गलत के बारे में सोच रहा हूं और उम्मीद कर रहा हूं कि कुछ डीडीडी विशेषज्ञ कुछ अंतर्दृष्टि प्रदान कर सकते हैं।डीडीडी
मेरी कुल रूट मेरी Account
ऑब्जेक्ट है, जिसमें AccountElement
इकाइयों की कुल संख्या है, जो स्वयं ProductComponent
इकाइयों के तार्किक समूह हैं।
एक Account
के संदर्भ का एक AccountElement
बाहर कोई अर्थ नहीं है, इसलिए मैं अपने निष्कर्ष है कि Account
वस्तु मेरी कुल जड़ है के साथ आराम कर रहा हूँ, और मैं आशा करते हैं कि इकाई एक समग्र Elements
संपत्ति हो रही है। यह ProductComponent
संग्रह है जो मुझे उलझन में डालता है। इस कुल का कोई AccountElement
के बाहर कोई अर्थ नहीं है, और वास्तव में का कोई Account
के बाहर कोई अर्थ नहीं है।
मुझे नहीं लगता कि मैं इसे के लिए अपने रास्ते इलाके, जैसे करके अलग-अलग ProductComponent
वस्तुओं तक पहुँचने किया जाना चाहिए है:
var reference = account.Elements(0).ProductComponents(0).ReferenceCode;
लेकिन करने के लिए एक ही समय में यह (एक डोमेन के नजरिए से) मतलब नहीं है पर इकाई से सीधे ProductComponent
तक पहुंचें।
मुझे यकीन है कि मेरे डोमेन के ज्ञान के बिना समझना थोड़ा मुश्किल है, लेकिन मुझे आशा है कि यह कुछ अच्छी प्रतिक्रिया प्राप्त करने के लिए पर्याप्त है।
यदि आपको अपने ऑब्जेक्ट मॉडल को काम करने के लिए घोंसले के इस स्तर की आवश्यकता होती है, तो मैं डेमेटर के कानून के बारे में ज्यादा चिंता नहीं करता। Http://haacked.com/archive/2009/07/14/law-of-demeter-dot-counting.aspx –
देखें http://www.dcmanges.com/blog/37 –
धन्यवाद, फिल का आलेख था सहायक, और बच्चों के बच्चों से संबंधित रूप से संबंधित रूप से संबंधित सवाल यह है कि कुल रूट पर वास्तव में महत्वपूर्ण है। उस पर ध्यान देना, यह केवल इकाइयों को घोंसला करने के लिए समझ में आता है। मैं अधिक आरामदायक हूं यह सही है क्योंकि इस निर्णय के बाद कोड की दिशा बहुत अधिक अंतर्ज्ञानी प्रतीत होती है। या डीडीडी की भावना में, मैं यह कहकर बेहतर हो सकता हूं कि यह सर्वव्यापी भाषा का एक वास्तविक आधार है;) –