2010-04-01 7 views
6

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

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

विचार? डाटा मॉडल के लिए और एक सख्ती से प्रमाणीकरण के लिए इस्तेमाल:

आप

उत्तर

1

हमने अपने ऐप में दो अलग-अलग सेवाओं धन्यवाद। हमने इस डिजाइन को एमएस के बिजनेस सैंपल ऐप स्ट्रक्चर से लिया है।

हमने अपने डेटा डोमेन सेवा को छोटे घटकों में तोड़ने पर विचार किया लेकिन इसके खिलाफ फैसला किया क्योंकि यह कोई लाभ नहीं मिला (सेवा वर्ग आकार को कम करने के अलावा।) यदि आपके पास अलग-अलग डेटा मॉडल हैं जो प्रत्येक से पूरी तरह से स्वतंत्र हैं अन्य तो उस मार्ग पर जाकर समझ में आ सकता है। सहजता से डोमेन सेवा को पूरे डोमेन का प्रतिनिधित्व करना चाहिए। यदि आपके डोमेन स्वतंत्र हैं (occasional need for crossover के साथ) तो यह उन्हें इस तरह से अलग करने के लिए तार्किक अर्थ बनाता है।

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

+0

मैं असहमत हूं। मुझे लगता है कि डोमेन सेवा को किसी कार्य या व्यावसायिक प्रक्रिया का प्रतिनिधित्व करना चाहिए जो पूरे डोमेन पर नहीं है। एक अच्छा उदाहरण ऐप बुक क्लब ऐप है जिसे आप यहां देख सकते हैं http://www.nikhilk.net/RIA- सेवा- MIX10- स्लाइड-Code.aspx। – PilotBob

0

धन्यवाद निक। मैंने वास्तव में आपके जैसा ही काम किया, मैंने दो सेवाओं का निर्माण किया, एक प्रमाणीकरण के लिए और एक डेटा पहुंच के लिए। यह मेरे लिए सबसे तार्किक लगता है।

डेटाकॉन्टेक्स्ट को सिंगलटन बनाने के लिए, मैंने भी कोशिश की है और यह अच्छी तरह से काम करता है। डेटा को लगातार लोड और रीफ्रेश करने की आवश्यकता नहीं है और अन्य कक्षाओं में समवर्ती मुद्दों के बारे में चिंता करें :)

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