13

मैं डोमेन संचालित डिज़ाइन के लिए नया हूं लेकिन इसे सीखना चाहता हूं और इसे नए एप्लिकेशन के लिए उपयोग करना चाहता हूं। मैं डेटा एक्सेस के लिए इकाई फ्रेमवर्क का उपयोग करूँगा।डोमेन संचालित डिजाइन, .NET और इकाई फ्रेमवर्क

मूल लेआउट अब तक है:

ASP.NET MVC और अन्य ग्राहकों (मोबाइल उपकरणों आदि)
|
वेबसाइट
|
डोमेन मॉडल (सेवाएं, रेपॉजिटरीज, समेकन, संस्थाएं और मूल्य ऑब्जेक्ट्स)
|
डेटा एक्सेस लेयर (इकाई फ्रेमवर्क)
|
डाटा स्टोरेज (SQL सर्वर)

सबसे अच्छा तरीका है डेटा का उपयोग परत और डोमेन मॉडल के बीच डेटा स्थानांतरित करने के क्या है? मुझे लगता है कि डोमेन मॉडल में इकाइयां पॉको ऑब्जेक्ट्स हैं और उन्हें एंटीटी फ्रेमवर्क ऑब्जेक्ट्स से मैप किया जाना चाहिए। क्या यह एक अच्छा समाधान है?

यदि ऐसा है:
ऐसा मैपिंग कैसे और कहाँ होना चाहिए? (डोमेन मॉडल लेयर या डेटा एक्सेस लेयर)
मैं इकाई फ्रेमवर्क कहां और कैसे पूछूं (यानी एक खोज के आधार पर एक सूची लौटाएं)?

+7

याद रखें कि DDD अंततः बस प्रभावी ढंग से अपने ही भाषा (डोमेन) में ग्राहक के साथ संवाद स्थापित करने का एक तरीका है, और फिर अपने आवेदन को उस तरीके से डिजाइन करना जो उस भाषा के अनुरूप है। यह विकास तकनीक नहीं है, प्रति से। इस प्रकार, जहां कहीं भी रखा जाए, इस बारे में कोई कठोर और तेज़ नियम नहीं हैं। –

+6

@ रॉबर्ट हार्वे: बहुत ही सही, लेकिन अभी भी बहुत उपयोगी है कि डीडीडी दिशानिर्देशों को एक विशिष्ट (संभवतः सामान्य) स्थिति में कैसे लागू किया जाए। – jeroenh

उत्तर

14

एंड्री येमेलीनोव है उद्यम कोर ऑब्जेक्ट (पर्यावरण) के लिए जाना होगा इस सटीक विषय पर एक स्वामी थीसिस किया:

http://gupea.ub.gu.se/dspace/bitstream/2077/10462/1/gupea_2077_10462_1.pdf

यह एफई 4 की रिहाई, जो POCO वस्तुओं का समर्थन करता है के साथ बहुत आसान हो जाएगा।

इस बीच आप automapper का उपयोग कर डोमेन और एफई वस्तुओं के बीच मैप करने के लिए कोशिश कर सकते में, देखें: http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx

3
मुझे लगता है कि डोमेन मॉडल में इकाइयां पॉको ऑब्जेक्ट्स हैं और उन्हें एंटीटी फ्रेमवर्क ऑब्जेक्ट्स से मैप किया जाना चाहिए। क्या यह एक अच्छा समाधान है?

मुझे लगता है कि यह है।

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

2

S#arp architecture project डीडीडी लागू करने पर मार्गदर्शन के लिए एक उत्कृष्ट प्रारंभिक बिंदु है। यह NHibernate पर आधारित है, लेकिन इस्तेमाल सिद्धांतों एफई के लिए समान रूप से धारण करना चाहिए ...

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