8

डीडीडी में प्रमुख अवधारणाओं में से एक रिपोजिटरी है, जो आपको संस्थाओं (या कुल रूट्स) को पुनर्प्राप्त करने की अनुमति देता है और फिर उन्हें अद्यतन किए जाने के बाद वापस सहेजता है।डीडीडी में सभी "थोक" संचालन कहां से संबंधित हैं?

Let मान लेते हैं कि हम संस्थाओं के साथ कुछ 'थोक' कार्रवाई करने के लिए की जरूरत है, और संस्थाओं की संख्या में यह बिल्कुल असंभव उन्हें स्मृति में पुनः प्राप्त करने में आता है। अर्थात। ऑपरेशन केवल डेटाबेस में किया जा सकता है।

ऐसे 'थोक' ऑपरेशन के लिए जगह कहां है? क्या यह भंडार पर एक विधि होनी चाहिए? क्या यह डेटाबेस विशिष्ट संचालन के साथ "रिसाव" रिपोजिटरी अमूर्त नहीं होगा? क्या यह व्यवसाय संचालन को संस्था से रिपोजिटरी में नहीं ले जायेगा?

+0

क्या आप रिकॉर्ड के सेट पर बड़े अपडेट करने के बारे में पूछ रहे हैं? (कहें, एक अद्यतन अद्यतन कथन के साथ लाखों कीमतों की गणना।) –

उत्तर

5

मुझे लगता है कि यह एक सेवा होना चाहिए।

इवांस अपनी पुस्तक में अनुशंसा करते हैं कि जब आपको संदेह हो कि एक वर्ग के अंदर "खराब गंध" है, तो आपको लगता है कि यह वहां नहीं है, तो ऑपरेशन के साथ सर्विसफू क्लास बनाएं।

+0

यह 9 साल हो गया है, मुझे उम्मीद है कि कोई इस अनुवर्ती प्रश्न का उत्तर देने में मदद कर सकता है। जब हम सेवा को कार्यान्वित करते हैं, तो क्या यह सभी कुल लूप करेगा और बाद में उन्हें भंडार में वापस/जोड़ देगा? – Fajarmf

4
void DoLongInvolvedTask(); 

मुझे आपके भंडार में विधियों के रूप में थोक कार्यों को डालने में कुछ भी गलत नहीं दिख रहा है। वे कुछ भी रिसाव नहीं करते हैं। थोक ऑपरेशन होने से कोई डेटाबेस विशिष्ट संचालन नहीं होता है, यह तब तक नहीं है जब तक कि आपकी विधि कुछ ऐसा नहीं है जैसे ReBuildMSSQLIndexesOnMyBigTable()।

1

आप किसी भी बचाने के लिए, डोमेन वस्तु में तर्क पुनः प्राप्त (मैं आप डोमेन मॉडल का उपयोग कर रहे हैं यह सोचते हैं रहा हूँ) नहीं होना चाहिए। रिपोजिटरी की ज़िम्मेदारी है। तो आपकी थोक विधि भंडार में संबंधित है।

यदि आप ओआरएम का उपयोग कर रहे हैं तो आपकी रिपॉजिटरी डेटाबेस पर निर्भर नहीं होगी। वे ओआरएम परत के सभी अनुरोधों को आगे बढ़ाएंगे।

तो भंडार इकाई के लिए मैपर करने के लिए अनुरोध अग्रेषित करेंगे आप अपने खुद के नक्शाकार लिख रहे हैं। और मुझे लगता है कि यह युग्मन ठीक है।

2

आपको क्या चाहिए डोमेन संचालित डिजाइन में एक service कहा जाता है। प्रक्रियाओं का उपयोग प्रक्रियात्मक कार्यों के मॉडल के लिए किया जाता है। एक थोक अद्यतन ऑपरेशन, जैसा कि आप वर्णन करते हैं, एक सेवा के लिए आदर्श उम्मीदवार होगा।

संपादित करें: मूल लिंक गायब हो गई। आप यहां डीडीडी शर्तों की शब्दावली पा सकते हैं, लेकिन यह मूल पृष्ठ के रूप में उपयोगी नहीं है। http://dddcommunity.org/resources/ddd_terms/

+0

डीडीडी सेवा का लिंक मृत दिखाई देता है (पृष्ठ/डोमेन पर कोई सामग्री नहीं) – jasper

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