6

इस समस्या से कैसे संपर्क करें और यह समझने के लिए कि क्या डोमेन संचालित डिजाइन वास्तव में सबसे अच्छा पैटर्न है, इस पर सुझावों की तलाश में है।डीडीडी?

मेरा ग्राहक उपकरण और सेवाओं के निकट-अप्रचलित ढेर को फिर से आर्किटेक्ट करने की प्रक्रिया में है। ग्राहक तेजी से विस्तार करने वाला ई-व्यापारी है। यह मुख्य उत्पाद इसकी बड़ी ई-कॉमर्स वेबसाइट है। इस वेबसाइट के आसपास, ग्राहक के पास विभिन्न प्रकार की डेटा फ़ीड्स हैं जो इसे अपने भागीदारों के सामने उजागर करती हैं। मार्केटिंग, बिक्री, रिपोर्टिंग इत्यादि में मदद करने के लिए कई आंतरिक अनुप्रयोगों में से एक उपयोगकर्ता समर्थन और साझेदार समर्थन अनुप्रयोगों में से एक है। विभिन्न डेटा-सिंक, ईटीएल नौकरियां, आदि की एक अच्छी राशि ... आपको तस्वीर मिलती है।

डेटा स्टोर और डेटा प्रदाता भी भरपूर मात्रा में हैं। एनओएसक्यूएल क्लाउड-आधारित मेगा-स्केलेबल स्टोरेज सार्वजनिक वेबसाइट पर अधिकांश सामान प्रदान करता है। कई डेटाबेस वाले SQL-सर्वर आंतरिक अनुप्रयोगों को डेटा प्रदान करते हैं। मेगास्केल करने योग्य खोज क्षमताओं को प्रदान करने के लिए विशेष खोज-केवल सर्वर भी हैं, साथ ही अन्य फ़ीड जो ऐप्स विभिन्न तृतीय पक्ष विक्रेताओं से उपभोग करते हैं। यदि डीडीडी अपनाया जाता है, तो योजना डेटा भंडार-विशिष्ट भंडार बेस कक्षाओं

से प्राप्त होने वाली रिपोजिटरी ऑब्जेक्ट्स के विभिन्न समूहों के पास होगी, क्लाइंट द्वारा किया गया एक अभ्यास किया गया है जहां उन्होंने अपनी अधिकांश व्यावसायिक संस्थाओं को मैप किया है "जेनेरिक" स्तर: इकाई के नाम और रिश्ते। उस "सामान्य" स्तर के बाहर, अनुप्रयोगों में विभिन्न ठोस वस्तुओं का पुन: उपयोग करने के साथ-साथ एक सभ्य मात्रा में संस्थाएं होती हैं जो ऐप के आधार पर उनके कार्यान्वयन में भिन्न होती हैं।

उदाहरण के लिए: किसी ई-कॉमर्स वेबसाइट पर आदेश इकाई एक्स की तरह लग सकता है, जबकि एक ऐप्लिकेशन है जो वाई की तरह सहायता कॉल संभालती है, और मैं सुझाव के लिए पर देख रहा हूँ इसके अलावा किसी को जेड

तरह धोखाधड़ी विश्लेषण कर

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

विभिन्न डेटा स्टोर्स के कारण, डीटीओ के स्वरूप की संरचना डेटा स्टोर से डेटा स्टोर तक काफी अलग है। विभिन्न व्यावसायिक जरूरतों के कारण, विभिन्न ऐप्स को कुछ इकाइयों के विभिन्न संस्करणों की आवश्यकता होती है, और चूंकि कंपनी तेजी से बढ़ रही है, इसलिए भविष्य बेहद अस्थिर है और लचीलापन सर्वोपरि है।

मुझे लगता है कि मेरी सबसे बड़ी समस्या व्यापार मॉडल को अलग-अलग डोमेनों को अलग करने का एक तरीका ढूंढ रही है और अभी भी उच्च स्तर के परिवर्तन को अपनाने में सक्षम होने पर साझा करने या पुन: उपयोग करने के दौरान इसे एक साथ रखती है।

आपके सभी सुझावों के लिए धन्यवाद

पीएस दुकान एक माइक्रोसॉफ्ट की दुकान है। VS2010/नेट/एसक्यूएल/Azure

उत्तर

4

पर विचार करें एसओए + DDD

सतह यह लग रहा है कि आप सेवा उन्मुखी वास्तुकला (SOA) के साथ डोमेन प्रेरित डिजाइन (DDD) के साथ विचार किया जाना चाहिए की तरह पर। NServiceBus की लाइनों के साथ कुछ।

DDD इसके मूल में अपने व्यापार तर्क *

DDD अलग के बारे में है अलग है:

उदी दहन पर DDD + NServiceBus एक महान वीडियो यहाँ उपलब्ध है आपके डोमेन लॉजिक से आपके एप्लिकेशन और ढांचे से ताकि आप यह सुनिश्चित कर सकें कि आप व्यवसाय तर्क को सही तरीके से मॉडलिंग कर रहे हैं। डीडीडी प्रत्येक परियोजना के लिए नहीं है, यह निश्चित रूप से छोटे व्यवसाय अनुप्रयोगों के लिए उपयुक्त नहीं है जहां डीडीडी को बनाए रखने की लागत आपके द्वारा प्राप्त लाभों से अधिक है।

आपके मामले में

आप एक काफी जटिल व्यावसायिक नियम-सेट जो IMO DDD से अत्यधिक लाभ होगा वर्णन किया है। हालांकि मैं आपको एसओए पर विचार करने के लिए भी मिलूंगा जो आपको सार्वभौमिक संदेश प्रणाली का उपयोग करके 1 एंटरप्राइज़ लेवल फ्रेमवर्क में एकाधिक आर्किटेक्चर को एकीकृत करने की अनुमति दे सकता है।

एसओए

NServiceBus का उपयोग करते हुए एक शक्तिशाली, अभी तक हल्के, खुला स्रोत मैसेजिंग वितरित नेट उद्यम सिस्टम डिजाइन करने के लिए रूपरेखा है। पूरी तरह से प्लग करने योग्य अभी तक आसान है, NServiceBus प्रोग्रामर को मजबूत, स्केलेबल और रखरखाव सेवा-परतों और लंबी चल रही व्यावसायिक प्रक्रियाओं के विकास पर हेड-स्टार्ट देता है।

+0

+1 "डीडीडी आपके व्यापार तर्क को अलग करने के बारे में है"। @Igorek, जो आप देख रहे हैं उसका स्तर उस से परे चला जाता है। (लेकिन मुझे लगता है कि आप पहले से ही सोच रहे थे) –

+1

@ इगोरिक आरई: "मुझे लगता है कि मेरी सबसे बड़ी समस्या ..." हर तरह से बड़ी तस्वीर को कोशिश करें और "मॉडल" (समझें) लेकिन मैं वास्तव में लागू करने में बहुत संकोच करता हूं एकल "मॉडल" कार्यान्वयन। कोशिश करें और चीजों को सरल रखें, और पुराने पुराने ओओ सिद्धांतों (जैसे चिंताओं को अलग करना) को न भूलें क्योंकि वे अभी भी मैक्रो स्तर पर लागू होते हैं। –

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