मैं DDD सीख रहा हूँ और मैं कर रहा हूँ एक छोटा सा इंफ्रास्ट्रक्चर परत में खो: प्रस्तुति, आवेदन, डोमेन और इन्फ्रास्ट्रक्चर:DDD बुनियादी सेवाओं
मैं समझता हूँ के रूप में, "सभी अच्छे DDD अनुप्रयोगों" 4 परतों होना चाहिए। डेटाबेस को रेपॉजिटरीज़ का उपयोग करके एक्सेस किया जाना चाहिए। रेपोजिटरी इंटरफेस डोमेन परत और भंडार कार्यान्वयन में होना चाहिए - इंफ्रास्ट्रक्चर में (संदर्भ DDD: Where to keep domain Interfaces, the Infrastructure?)।
आवेदन, डोमेन और इंफ्रास्ट्रक्चर परत में सेवाओं/संदर्भ हो सकते हैं (संदर्भ www.lostechies.com/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx), उदाहरण में इंफ्रास्ट्रक्चर परत में ईमेल सेवा जो ईमेल संदेश भेजती है।
लेकिन, इंफ्रास्ट्रक्चर परत के अंदर हमारे पास भंडार कार्यान्वयन है, जिसका उपयोग डेटाबेस तक पहुंचने के लिए किया जाता है। तो, इस मामले में, भंडार डेटाबेस सेवाएं हैं? इंफ्रास्ट्रक्चर सेवा और भंडार के बीच क्या अंतर है?
अग्रिम धन्यवाद!
ठीक है, शायद आपने मेरे प्रश्न को गलत समझा, या मैंने जवाब को गलत समझा। इंफ्रास्ट्रक्चर परत के अंदर, यदि हमारे पास मेल एपीआई से संबंधित एक सेवा है, तो हम इसे "ईमेल सेवा" कहते हैं, लेकिन डेटाबेस से डेटा पुनर्प्राप्त करने के लिए कोड को "रिपोजिटरी कार्यान्वयन" कहा जाता है। क्या यह एक ही प्रकार की "आधारभूत सेवा" नहीं है? – Zygimantas