9

मैं अपने वर्तमान प्रोजेक्ट के लिए रिपोजिटरी पैटर्न का उपयोग करने की कोशिश कर रहा हूं और मैं वर्तमान में डोमेन को मॉडल करने और कुल जड़ों को खोजने की कोशिश करने की प्रक्रिया में हूं।कुल जड़ें। खरगोश छेद कितना दूर जाता है

मैंने 'कैस्केडिंग डिलीट' नियम पढ़ा है जिसमें कहा गया है कि अगर रूट हटा दिए जाने पर किसी सदस्य को हटाने का अर्थ नहीं होता है तो यह रूट का हिस्सा नहीं होना चाहिए।

मैं एक eample के रूप में एक पुलिस घटना का उपयोग करेंगे: -

हादसा (सकल जड़) - यह अधिकारियों की जांच कर रही हो सकता है, प्रत्येक अधिकारी द्वारा किए गए नोट। इसमें साक्षात्कार भी शामिल किए गए तिथियों की सूची के साथ संदिग्ध हो सकते हैं। घटना के लिए सीसीटीवी फुटेज प्राप्त किया गया था? प्रत्येक बार सीसीटीवी देखा गया था और किसके द्वारा एक लॉग? सबूत/अदालत इत्यादि के लिए सीसीटीवी से बने प्रतियां

ऐसा लगता है कि घटनाक्रम एग्रेगेट विशाल हो सकता है क्योंकि ऐसा लगता है कि उस घटना पर सब कुछ लटका हुआ है।

मेरा प्रश्न दो गुना है, कुल रूट का प्रबंधन कितना होना चाहिए और जड़ों के भीतर जड़ें एक अच्छा विचार है?

यह विशेष रूप से अच्छा उदाहरण नहीं हो सकता है क्योंकि आप शायद पुलिस घटना की तरह कुछ नहीं हटाएंगे, लेकिन मुझे उम्मीद है कि यह मेरे प्रश्न का बेहतर वर्णन करेगा।

उत्तर

10

कुल मिलाकर कुल मिलाकर संदर्भ अन्य कुल जड़ें हैं। इन संदर्भों को हटाया जाना चाहिए जब समेकित कुल हटा दिया जाता है, लेकिन वे जो योग इंगित करते हैं वे बने रहेंगे।

अपने समानता का उपयोग करने के लिए। एक रिपोर्ट जिसे हम मानेंगे, कुल मिलाकर केवल एक घटना का हिस्सा है, और कुल मिलाकर हटा दिया जाएगा। कोई अन्य कुल सीधे इन रिपोर्ट तक पहुंच नहीं पाएगा।

हालांकि, घटना कुल संदर्भ समुच्चय अधिकारियों का प्रतिनिधित्व करने और संदिग्धों, और सीसीटीवी देखने लॉग प्रविष्टियों होगा।

9

एक समग्र जीवन चक्र के साथ वस्तुओं का एक समूह है।

यदि आपने कोई घटना हटा दी है तो क्या आप जांच अधिकारी को भी हटाना चाहते हैं? नहीं - अगर आपने किया तो जल्द ही कोई पुलिसकर्मी नहीं छोड़ेगा। जांच अधिकारी कुल घटना में नहीं है।

अन्य चीजों की सूची, संदिग्ध, साक्षात्कार, सीसीटीवी इत्यादि। उत्तर है - यह निर्भर करता है।

यह आपकी समस्या डोमेन पर निर्भर करता है। आपका सिस्टम क्या कर रहा है? इसका दायरा क्या है? यह किस समस्या को हल कर रहा है?

यदि यह केवल नौकरी है तो घटनाओं की एक स्ट्रिंग को ट्रैक करना और संदिग्धों को संभालना है, साक्षात्कार और सीसीटीवी केवल एक ही घटना के परिणामस्वरूप सिस्टम में हैं, फिर हां, उन्हें एक साथ कुल मिलाकर उचित हो सकता है। अगर घटना हटा दी जाती है तो संदिग्ध, साक्षात्कार और सीसीटीवी जा सकते हैं।

, उदाहरण के लिए, सीसीटीवी फुटेज के अपने भी ट्रैकिंग अभिलेखागार शहर के केंद्र कैमरों के एक नेटवर्क से एकत्र। शायद आप उनकी प्रभावशीलता और विश्वसनीयता की निगरानी करने की कोशिश कर रहे हैं। यदि ऐसा है तो आपको अलग-अलग सीसीटीवी फुटेज का इलाज करने की आवश्यकता है। यह अपने जीवन चक्र के साथ एक अलग योग में होगा। आप एक घटना को हटाते हैं तो आपको अन्य घटनाओं और प्रदर्शन मीट्रिक के लिए अपने सीसीटीवी फुटेज रखना चाहते हैं।

क्या में और एक समग्र से बाहर है आपकी समस्या डोमेन पर निर्भर करता है। या अधिक सटीक यह इस बात पर निर्भर करता है कि आपने समस्या डोमेन समाधान का मॉडल कैसे बनाया है।

जीवन चक्र सोचें।

1

"जड़ों के भीतर जड़ें एक अच्छा विचार है?" मेरी राय में

लघु जवाब नहीं है। कर्ट कहते हैं, आपको संदर्भ अन्य योगों को रखना चाहिए। स्पष्ट होने के लिए, संदर्भों से मेरा मतलब वस्तुओं की पहचान करना है। तो हो सकता है आपके हादसा कुल एक संपत्ति इस तरह के

public IEnumerable<Guid> InvestigatingOfficerIds 
{ 
    get { return _investigatingOfficerIds.AsReadOnly(); } 
} 

या

public IEnumerable<OfficerReference> InvestigatingOfficerIds 
{ 
    get { return _investigatingOfficerIds.AsReadOnly(); } 
} 

जिससे OfficeReference एक वर्ग है कि एक अधिकारी पहचान के मूल्य का प्रतिनिधित्व करता है के रूप में (हुड के नीचे शायद एक Guid होगा) होगा।

आपके डोमेन तर्क की जरूरत दोनों हादसा और जांच अधिकारियों का उपयोग कर कार्रवाई करने के लिए, तो क्या तुम करोगी सार एक डोमेन सेवा को यह तर्क और IOfficerRepository का उपयोग घटना कुल पर उपलब्ध कराई गई आईडी का उपयोग अधिकारी समुच्चय लाने के लिए।

संबंधित मुद्दे