2011-01-01 12 views
13

मेरा मतलब है - भौतिक रूप से, कोड में। नामकरण, नामस्थान, फ़ोल्डर्स, असेंबली, डेटाबेस/एस का संगठन।बाध्य संदर्भों का प्रतिनिधित्व कैसे करें?

कितने बाध्य संदर्भों पर बातचीत करनी चाहिए?

उदाहरण के लिए, क्लासिक e-commerce business domain का उपयोग करने में संकोच न करें।

+0

आप http://msdn.microsoft.com/en-us/magazine/dd419654.aspx पर एक नज़र डाल सकते हैं। यह "अपरिवर्तनीय" के बारे में बात कर रहा है – Lijo

उत्तर

12

मैं कहना चाहता हूँ 'यह निर्भर करता है'

कभी-कभी यह एक ही डेटाबेस के लिए अपने ई.पू. संस्थाओं मैप करने के लिए और कभी कभी आप अपनी ईसा पूर्व के लिए विभिन्न डेटाबेस हो सकता है पर्याप्त हो सकता है।

आईएमओ, ई-कॉमर्स एक पूर्ण डोमेन की तुलना में बीसी से अधिक हो सकता है।

मैंने पूरे बिक्री एजेंट में थोड़ा अधिक समय बिताया है जहां उन्होंने खाद्य उत्पादों को बेच दिया था।

तो डोमेन "पूरे बिक्री" और घिरे संदर्भों था, सूची, खरीद, बिक्री, चालान, उत्पाद सूची और ई-कॉमर्स (शायद मैं गलत अंग्रेज़ी शब्दों यहाँ का उपयोग करें)

इन ईसा पूर्व के के प्रत्येक "उत्पादों" के बारे में पता था लेकिन उन सभी के पास एक उत्पाद का अलग दृष्टिकोण था।

उदा खरीद में उत्पाद की जानकारी हो सकती है जिसमें विक्रेताओं की जानकारी, खरीद मूल्य आदि संलग्न हों।

ई-कॉमर्स डोमेन एक उत्पाद को देखने के एक ग्राहक बिंदु से मॉडलिंग की किया जाएगा, वहीं यह ग्राहक है कि यह विचार के लिए प्रासंगिक जानकारी, उनकी विशिष्ट मूल्य आदि के लिए होता है

ई-कॉमर्स ई.पू. होगा कई स्रोतों से इसकी उत्पाद जानकारी प्राप्त करें; उत्पाद सूची और बिक्री। जहां आधार जानकारी उत्पाद सूची से है और ग्राहक विशिष्ट कीमतें बिक्री से हैं।

तो ई-कॉमर्स ईसा पूर्व में उत्पाद भंडार (किसी प्रकार की सेवाओं, सबसे अधिक संभावना है वेब के माध्यम से या मेरे मामले में WCF) अन्य ईसा पूर्व से संदर्भ मानचित्रण कर सकता हमारे ई-कॉमर्स उत्पाद इकाई के निर्माण के लिए)

व्यक्तिगत रूप से मैं इसे अलग असेंबली के रूप में मॉडल करता हूं, मेरे पास एक ई-कॉमर्स मॉडल और बिक्री मॉडल होगा।

मेरे ई-कॉमर्स मॉडल में अधिकांश जानकारी बाहरी स्रोतों से आती है और स्थानीय रूप से लगातार नहीं होती है। शॉपिंग कार्ट जैसी चीजें स्थानीय रूप से लगातार रहेंगी क्योंकि उन वस्तुओं का ई-कॉमर्स मॉडल स्वामित्व है।

एक बार ग्राहक अपनी खरीद पूरी करने का प्रयास करता है, तो मैं शॉपिंग कार्ट से प्री-ऑर्डर तैयार करता हूं और फिर बिक्री बीसी को पास करता हूं। या तो सीधे सेवा कॉल या संदेश कतार के माध्यम से।

तो संक्षेप में, मैं अपने सिस्टम को एक विशिष्ट बीसी के आसपास बनाना चाहता हूं और केवल अन्य बीसी के माध्यम से सेवाओं के माध्यम से बातचीत करता हूं।

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

6

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

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

आशा है कि मदद करता है।

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