क्या डोमेन ड्रिवन डिज़ाइन इतने जटिल डोमेन के लिए उपयोगी / उत्पादक है?


16

काम पर एक संभावित परियोजना का आकलन करते समय, मैंने सुझाव दिया कि इसके ऑब्जेक्ट मॉडल के लिए एक डोमेन संचालित डिज़ाइन दृष्टिकोण का उपयोग करना फायदेमंद हो सकता है। परियोजना में एक अत्यधिक जटिल डोमेन नहीं है, इसलिए मेरे सहकर्मी ने मुझ पर यह फेंक दिया:

यह कहा गया है, कि डीडीडी ऐसे उदाहरणों में अनुकूल है जहां एक जटिल डोमेन मॉडल है ("... यह लागू होता है जब भी हम एक जटिल, जटिल डोमेन" एरिक इवांस) में काम कर रहे होते हैं।

मैंने जो खोया है वह है - आप एक डोमेन की जटिलता को कैसे परिभाषित करते हैं? क्या इसे डोमेन मॉडल में कुल जड़ों की संख्या से परिभाषित किया जा सकता है? क्या वस्तुओं की परस्पर क्रिया में एक डोमेन की जटिलता है?

जिस डोमेन का हम आकलन कर रहे हैं, वह ऑनलाइन प्रकाशन और सामग्री प्रबंधन से संबंधित है।


आप जानते हैं कि जब आप इसे मॉडल करने के लिए DDD का उपयोग करते हैं तो आप DDD को सही ठहराने के लिए पर्याप्त जटिल होते हैं। :)
एडम क्रॉसलैंड

जवाबों:


18

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

DDD में उपयोग किए जाने वाले कुछ पैटर्न आमतौर पर एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर में उपयोगी होते हैं, जैसे कि रिपॉजिटरी पैटर्न, बाउंडेड कॉनटेक्स्ट और लेयर्ड आर्किटेक्चर। सिर्फ इसलिए कि आप उन पैटर्नों का उपयोग कर रहे हैं, इसका मतलब यह नहीं है कि आप डोमेन संचालित डिज़ाइन कर रहे हैं।

यदि बहुत अधिक व्यवहार नहीं है, जो कहना है, आप ज्यादातर डेटा संग्रहीत कर रहे हैं, और उस डेटा पर कार्य नहीं कर रहे हैं, तो उस डोमेन परत के निर्माण में बहुत कम मूल्य हो सकता है। सामग्री प्रबंधन में, यदि आप सभी करते हैं तो अनुमोदन और प्रकाशित होता है, हो सकता है कि डोमेन तरीकों के बजाय सिस्टम में झंडे द्वारा प्रतिनिधित्व किया जा सकता है। लेकिन जब आप अतिरिक्त व्यवहार जोड़ना शुरू करते हैं, तो एक पूर्ण-ऑन डोमेन परत की उपयुक्तता अधिक स्पष्ट हो जाती है।

यदि हम सामग्री प्रबंधन के बारे में बात कर रहे हैं, तो यहां कुछ (कल्पना) नियम हैं जो DDD की आवश्यकता पर संकेत देना शुरू कर सकते हैं:

  • अगर कहानी xx / yy / zz तारीख तक आलिंगनबद्ध है, मुद्रित करने के लिए प्रकाशित करें, तो वेब पर; अगर कोई शर्मिंदगी नहीं है, तो वेब पर प्रकाशित करें और प्रिंट के लिए उपलब्ध कराएं
  • भुगतान करने वाले ग्राहकों को तुरंत भुगतान करने के पीछे इस कहानी को उपलब्ध कराएं; 2 सप्ताह बाद आम जनता के लिए जारी।
  • एक कहानी लिखे जाने के बाद, इसे पुनरीक्षण, प्रूफरीडिंग और अनुमोदन के लिए एक संपादक को भेजें। जब अनुमोदित हो, तो इसे उत्पादन के लिए भेजें। यदि उत्पादन अंतरिक्ष कारणों से कहानी में कटौती करता है, तो एक विस्तारित संस्करण ऑनलाइन उपलब्ध कराएं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.