खैर, सबसे पहले, मुझे नहीं लगता है कि आपके द्वारा संदर्भित विकिपीडिया लेख बहुत अच्छा है, ज्यादातर क्योंकि यह उन चीजों का एक गुच्छा है जो केवल डोमेन ड्रिवेन डिज़ाइन के सहायक हैं और अभ्यास के बारे में किसी को भी बताने के लिए बहुत कम करते हैं।
लेकिन, किसी ऐसे व्यक्ति के रूप में जिसने दिल के लिए डोमेन ड्रिवेन डिज़ाइन लिया है (जो आमतौर पर डीडीडी द्वारा जाता है, 3 डी के बजाय, जो इसके लायक है), मैंने हमेशा महसूस किया कि डीडीडी के मूल तत्व स्पष्ट हैं, यदि आप एरिक के पहले अध्याय के रूप में बहुत कुछ पढ़ते हैं इवांस की किताब। लेकिन यह पैटर्न और प्रथाओं का एक सेट है, इसलिए यह 3 वाक्य का सारांश देना आसान नहीं है कि यह क्या है और कुछ विस्तार में जाने के बिना फायदे क्या हैं। जो विवरण किसी एक व्यक्ति के साथ प्रतिध्वनित होता है, वह बहुत भिन्न हो सकता है; यह संभव है कि 10 साल पहले मैं खुद को इस बिंदु पर नहीं देखा होगा।
DDD एक चांदी की गोली नहीं है। जब समझदारी से काम लिया जाता है, तो यह शिल्पकार जैसे सॉफ्टवेयर के निर्माण के दृष्टिकोण को लेने और विकास टीमों और उन व्यवसायों के बीच संज्ञानात्मक घर्षण को कम करने की आवश्यकता को पहचानने के लिए होता है, जिनके लिए वे सॉफ्टवेयर का निर्माण कर रहे हैं। सबसे महत्वपूर्ण प्रथाओं में से एक है एक परत जिसमें सॉफ्टवेयर टीम और व्यावसायिक टीम द्वारा उपयोग की जाने वाली डोमेन शब्दावली यथासंभव मेल खाती है। आप इस परत का निर्माण इस रूप में करते हैं क्योंकि आप उस व्यावसायिक समस्या को समझते हैं जिसे आप हल करने का प्रयास कर रहे हैं। जब व्यावसायिक तर्क इस परत में समझदारी से कूट-कूट कर भरा होता है, तो उन सभी उपबंधित निर्भरताओं से अलग हो जाता है, जो एंटरप्राइज़ अनुप्रयोगों में आमतौर पर उन सिस्टम के साथ इंटरफेसेस के लिए फैक्टरिंग इंटरेक्शन द्वारा होती हैं, जो वास्तविक डोमेन लेयर में प्रयुक्त भाषा अंततः काफी संक्षिप्त, स्पष्ट और पठनीय बन जाती है।
व्यवहार में, मैंने जो सबसे अधिक उद्यम सॉफ्टवेयर देखा है, उसे देखते हुए, DDD एक चांदी की गोली की तरह लग सकता है , क्योंकि अधिकांश उद्यम सॉफ्टवेयर में चिंताओं का इतना खराब पृथक्करण है कि यह लगभग अप्राप्य है, और सॉफ्टवेयर टीम परिवर्तन के महान भय में रहती है क्योंकि उन्हें इस बात का कोई अंदाजा नहीं है कि सामान्य रूप से भी तुच्छ कोड परिवर्तन के दुष्प्रभाव क्या हो सकते हैं, जबकि एक उचित रूप से फैली हुई डोमेन परत स्वतंत्र रूप से परीक्षण योग्य और सत्यापन योग्य होगी। लेकिन वास्तव में, डीडीडी स्वीकार करता है कि सिस्टम अलगाव में शायद ही मौजूद हैं। DDD में विरासत प्रणालियों (एंटी-करप्शन लेयर, बंधे हुए संदर्भों, एक जोड़े को नाम देने के लिए) का पैटर्न शामिल है।
यदि आप ऑब्जेक्ट-ओरिएंटेड डिज़ाइन का अभ्यास करते हैं, जिसमें ढीली कपलिंग का अनुशासन भी शामिल है, और आप यूनिट का धार्मिक रूप से परीक्षण करने का अभ्यास करते हैं, और आप निर्दयता से रिफैक्टर कोड, और आप अपने सिस्टम का निर्माण करते समय डोमेन विशेषज्ञों के साथ काम करते हैं, तो अनिवार्य रूप से आप एक परिणाम के साथ समाप्त होंगे। मूल रूप से डोमेन संचालित डिजाइन के वकील किस बारे में बात कर रहे हैं।
इवांस की पुस्तक में वर्णित कुछ विशिष्ट पैटर्न हैं जो ज्यादातर उद्यम सॉफ्टवेयर विकास पर लागू होते हैं, और कुछ जो कि काफी सार्वभौमिक सिद्धांत हैं, लेकिन अनिवार्य रूप से, डीडीडी सॉफ्टवेयर विकास के लिए एक व्यावहारिक दृष्टिकोण है जो समय के साथ तकनीकी ऋण के निर्माण को कम कर सकता है। और अपने ग्राहकों को खुश करें क्योंकि आप एक-दूसरे के साथ एक ही भाषा बोलने में सक्षम हैं, और एक-दूसरे को बेहतर समझने के फायदों के कारण बेहतर काम कर रहे समाधान प्रदान करते हैं।