10

मैं उपयोग कर रहा है भंडार पैटर्न (DDD और POEAA) है। हालांकि हमारे कुछ टीम के सदस्यों ने तर्क दिया है कि यह केवल अमूर्तता और अनावश्यक की एक अतिरिक्त परत है। मैं उनके तर्कों में कुछ लाभ देख सकता हूं। आधुनिक ओआरएम समाधान (एनएचबेर्नेट या ईएफ) में लगभग हर चीज है जो आपको चाहिए। मैंने इस विषय पर this और counterargument जैसे कुछ आलेख खोजे और पाया। तो भंडार पैटर्न एक overkill है?भंडार पैटर्न कुछ समय के लिए एक overkill

उत्तर

12

यह निर्भर करता है, ज्यादातर आपकी समस्या की जटिलता और भूमिका अपने डोमेन मॉडल समाधान में खेलता है पर। सरल समाधान के लिए, रिपोजिटरी शायद अधिक है। लेकिन एक मजबूत भाषा और विकसित आवश्यकताओं/आवश्यकताओं के साथ जटिल डोमेन के लिए, रिपोजिटरी एक अच्छा, साफ अमूर्त है जो डोमेन ऑब्जेक्ट लाइफसाइकिल का मालिक है। कई ओआरएम इनमें से अधिकतर करेंगे, लेकिन, एक जटिल डोमेन में, हमेशा कुछ डोमेन गतिविधि होगी जो एक भंडार में समझ में आती है और जो बॉक्स के बाहर ओआरएम द्वारा समर्थित नहीं है।

निष्कर्ष: किसी भी यह संदर्भ पर निर्भर करता। इकाई परीक्षण में

+9

आपको 'यह निर्भर करता है' गलत कभी नहीं कर सकते हैं। :) –

+0

@ अरनिस - यही कारण है कि, डेवलपर्स के रूप में, हमारे पास हथौड़ों नहीं हैं, हमारे पास एक संपूर्ण टूलबॉक्स है। – Martin

+5

@ मार्टिन कुछ को केवल नलिका टेप मिला :) –

4

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

1

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

और जैसा कि अल उल्लेख किया .. यह इकाई परीक्षण के दौरान बाहर उपहास करने के लिए एक अच्छा इंटरफ़ेस प्रदान करता है।