2008-09-19 10 views
46

तो मुझे यह प्रश्न मेरी टीम में डेवलपर्स में से एक से मिला: डोमेन संचालित डिज़ाइन क्या है? मैं निश्चित रूप से इवांस से पुस्तक को इंगित कर सकता हूं लेकिन क्या वास्तव में यह एक जवाब है?डोमेन संचालित डिज़ाइन क्या है?

आप अपनी टीम में जूनियर सॉफ्टवेयर इंजीनियरों को कुछ वाक्यों में डीडीडी कैसे समझाएंगे?

+0

> संचालक ध्यान दें: लिंक अब प्रासंगिक यात्रा हो सकती है [http://dddcommunity.org] (http://dddcommunity.org/)/ – cvs

उत्तर

42

मैं कहूंगा कि यह अभ्यास 'समाधान स्थान' की बजाय 'समस्या स्थान' पर आपके प्रयासों को ध्यान में रखकर बढ़ावा देता है। अध्ययन करके और वास्तव में डोमेन को जानना और समझने के द्वारा एक उभरते समाधान (डिजाइन) को ड्राइविंग करना। प्रथाओं में से एक (XP से लिया गया) समस्या डोमेन में होने वाली कहानियों का लेखन होगा। इनमें से आप अपने डिजाइन के लिए अपने उपयोग के मामलों और वस्तुओं की पहचान कर सकते हैं। वे 'उभरा' और आपको बताते हैं कि समाधान में क्या होना चाहिए, और उन्हें एक दूसरे के साथ बातचीत करने की आवश्यकता होगी।

3

डीडीडी का एक महत्वपूर्ण हिस्सा तथाकथित सर्वव्यापी भाषा है; यानी व्यवसाय विशेषज्ञों के समान भाषा बोलें। और अपना कोड/आर्किटेक्चर बनाएं ताकि प्रतिबाधा समस्याओं से बचने के लिए यह इस भाषा को प्रतिबिंबित करे।

+3

जहां तक ​​मैं इसे समझता हूं, यह प्रोग्रामर डोमेन विशेषज्ञ भाषा बोलने वाले प्रोग्रामर नहीं हैं, बल्कि एक आम भाषा विकसित कर रहे हैं। – sumek

+0

@sumek लोगों को * सामान्य भाषा * पर सहमत होने की कोशिश कर रहा है शायद संभवतः प्रयास के लायक नहीं है। किसी व्यवसाय को ** ** ** से सहमत होने में बहुत समय लगता है। मेरे अनुभव में मौजूदा लिंगो के अनुरूप आमतौर पर सबसे अच्छा होता है, यानी, यदि आप समय पर शिप करना चाहते हैं ... – MattDavey

9

"डोमेन" की खोज करने की प्रक्रिया में आप एक आम भाषा बनाते हैं, दोनों परियोजनाओं में डेवलपर्स और अन्य सभी हितधारकों को समझते हैं।

डोमेन मॉडल और इसका "लिंगो" तैयार उत्पाद के लिए स्रोत कोड में काफी देखा जा सकता है। कम से कम मेरा अनुभव

4

यह समझने की कोशिश कर रहा है कि आप जो सॉफ्टवेयर लिख रहे हैं वह मॉडल में समझ के बारे में है और उसे प्रतिबिंबित करता है।

Domain Driven Design Quickly

यह उदाहरण के बहुत सारे के साथ एक अच्छा पढ़ा है:

17

InfoQ एक नि: शुल्क ई-पुस्तक है।

+0

यह बहुत अच्छा और संक्षिप्त है। हमारी टीम के नए डेवलपर्स को आजकल इसे पढ़ना है। – Hace

2

डोमेन संचालित डिजाइन डोमेन मॉडल में किसी एप्लिकेशन की जटिलता को प्रबंधित करने के बारे में है जहां इसे आसानी से आसवित किया जा सकता है।

कुछ वाक्यों में वर्णन करना बहुत मुश्किल है, लेकिन मैं अच्छी शुरुआत के रूप में InfoQ पुस्तक की अनुशंसा करता हूं। मैंने इवान्स डीडीडी पुस्तक के साथ एक पुस्तक क्लब करने वाले बहुत से लोगों के बारे में भी सुना है जिसने इसे समझने में बहुत मदद की है।

+1

10 साल पहले नीली किताब लिखी जाने के बाद से डीडीडी बहुत बढ़ गया है। उसके बाद एक समृद्ध डोमेन मॉडल वास्तव में एक जटिल तरीके से व्यापार जटिलता को पकड़ने का एकमात्र तरीका था। इन दिनों हमारे पास सीक्यूआरएस और इवेंट सोर्सिंग जैसे कुछ और विकल्प हैं, इसलिए पुरानी धारणा है कि 'डीडीडी == समृद्ध डोमेन मॉडल' सच नहीं है। मैं सराहना करता हूं कि यह उत्तर 5 साल पहले लिखा गया था। – MattDavey

1

मेरे लिए ओओडी/ओओपी का अगला स्तर है जहां encapsulation समस्या स्थान के बारे में है, जैसा कि उपयोगकर्ताओं द्वारा वर्णित और समझ में आता है, और तकनीकी कार्यान्वयन के बारे में इतना कुछ नहीं।

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

  • कोई संबंधित समस्या नहीं^_^