2009-06-10 13 views
8

Martin Fowler suggests डोमेन मॉडल और "डेटा लोडर" के बीच सीमा के रूप में एक सेवा परत का उपयोग कर। हालांकि, रॉकफोर्ड लोत्का व्यापार के उद्देश्य में सत्यापन के निर्माण का सुझाव देते हैं और यह वही है जो CSLA.NET करता है।प्रमाणीकरण और सेवा परत या व्यापार वस्तुओं में?

सेवा परत में इसे सारणित करने का लाभ स्पष्ट रूप से है कि आपकी सेवा परत कई व्यावसायिक वस्तुओं में गतिविधि/संचालन को समन्वयित कर सकती है। लेकिन व्यवसाय तर्क और सत्यापन के लिए सीधे व्यावसायिक वस्तुओं का उपयोग कर सेवा परत का उपयोग करने के अन्य फायदे और नुकसान क्या हैं?

उत्तर

3

मैं निश्चित रूप से रॉकी लोहतका के शिविर में हूं। मेरा मानना ​​है कि आपके व्यवसाय की वस्तुओं को एप्लिकेशन और यूआई परतों के बीच "बंदरगाह" के लिए बहुत आसान होना चाहिए। एक अतिरिक्त "सेवा परत" जोड़ना संभवतः आपकी वस्तुओं के साथ निर्भरता जोड़ देगा और इसलिए उन्हें कम "पोर्टेबल" बना देगा।

यदि आप अपना व्यावसायिक ऑब्जेक्ट फ्रेमवर्क सही तरीके से लिखते हैं, तो आपकी व्यावसायिक वस्तुएं विभिन्न व्यावसायिक वस्तुओं के बीच सत्यापन को सही तरीके से संभालने में सक्षम होना चाहिए। CSLA.NET माता-पिता/बाल संबंधों के साथ-साथ निर्भर संपत्ति सत्यापन की अवधारणा के द्वारा यह सही ढंग से करता है।

+0

मैं यह भी जोड़ूंगा कि समन्वय करने के लिए कुछ व्यावसायिक वस्तुएं भी मौजूद हो सकती हैं। उदाहरण के लिए, आप एक चालान में ऑर्डर बदलने के लिए आवश्यक व्यवहार नहीं लिखेंगे, आपके पास ऑर्डर कनवर्टर होगा जो ऑर्डर की जांच करेगा और यदि वैल्यूड इसे कन्वर्ट करेगा। जो मैं आम तौर पर "सेवा" वस्तुओं के रूप में देखता हूं वे मूल रूप से मुश्किल से संबंधित तरीकों का डंपिंग ग्राउंड होते हैं। वे सब एक दुकान में कुछ करते हैं, लेकिन इसके अलावा अन्य संबंधित नहीं हैं। सीएसएलए में इन तरीकों को आम तौर पर अलग-अलग वर्गों में शामिल किया जाएगा, जिनके पास उपयोग के बारे में पूर्ण ज्ञान है, यह एक चालान आदेश कैसे करें, इस बारे में सबकुछ जानता है – Andy

4

मुझे यकीन नहीं है कि आपने यह पता लगाया है या नहीं।

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

आप डोमेन मॉडल (Here)

डोमेन है कि दोनों व्यवहार और डेटा को शामिल किया गया का एक ऑब्जेक्ट मॉडल को देखें, तो।

डोमेन स्तरीय इन वस्तुओं, जो कर्म/सत्यापन (व्यवहार) और राज्य (डेटा)

इन वस्तुओं अन्य अनुप्रयोगों में उपयोग किया जा सकता होगा शामिल होंगे, यह भी अपने डिजाइन पर निर्भर करेगा। डोमेन परत सेवा परत

पर निर्भर नहीं होना चाहिए, इसलिए डोमेन ऑब्जेक्ट्स में व्यवहार (इसमें सत्यापन शामिल है) और डेटा है। सेवा परत वह है जिसे आप अपने आवेदन को बेनकाब करना चाहते हैं (कार्यात्मक करने के लिए)। आईई एक ग्राहक, या खाता जोड़, महीने के अंत के लिए बिल calcualte।

तेज architure के लेआउट पर एक नज़र डालें (http://www.sharparchitecture.net/)

यह इस meterial की मेरी समझ है।

HTH

हड्डियों

0

मैं एक और अधिक लचीला डोमेन मॉडल जहां डाटा और व्यवहार का एक जुदाई है के लिए देख रहा हूँ, लेकिन मैं नहीं मानता कि सेवा परत व्यवहार के लिए उपयुक्त परत है । इसके बजाए, शायद, कोई साधारण बिजनेस लॉजिक लेयर दृष्टिकोण ले सकता है जहां बिजनेस एंटिटी ऑब्जेक्ट्स केवल डेटा का खुलासा करते हैं और बिजनेस प्रोसेस ऑब्जेक्ट्स केवल व्यवहार का पर्दाफाश करते हैं, और उन व्यवहारों में सत्यापन विधियां होती हैं।

एक लाभ, व्यापार प्रक्रिया युग्मन कितना ढीला है, इस पर निर्भर करता है कि आप कॉन्वर्स और व्यापक रूप से यहां तक ​​कि परिवर्तनीय प्रकारों की विस्तृत श्रृंखला के सत्यापन को लागू कर सकते हैं।"फर्स्टनाम" और "लास्टनाम" फ़ील्ड को मान्य करने के लिए एक पल के लिए विचार करें, और आगे विचार करें कि ये फ़ील्ड किसी भी बड़े सिस्टम में आधे दर्जन या उससे अधिक विभिन्न इकाइयों पर मौजूद हो सकती हैं। डेटा से अलग प्रक्रिया सुनिश्चित करने के लिए आप एक बार अपनी सत्यापन प्रक्रियाओं को लागू कर सकते हैं और उन्हें कई ऑब्जेक्ट्स पर लागू कर सकते हैं जो समान डेटा प्रदान करते हैं।

मैंने देखा है कि डोमेन मॉडल 'डोमेन होना चाहिए' डोमेन ऑब्जेक्ट्स जो कि डेटा और व्यवहार दोनों का संलयन है, फॉउलर/इवांस की एक अवधारणा है, लगभग 2000-2002 (शीघ्रता से एक तेज़ माइग्रेशन के बाद) 2-स्तरीय अनुप्रयोगों के बजाय वितरित सूचना प्रणाली की ओर।)

विचार?