आपका लाभ बहुत हो सकता है, लेकिन मैं इस बात के आधार पर परिभाषित करने की कोशिश करूंगा कि मैंने उनका उपयोग कैसे किया है। अपने हठ परत के बावजूद, मैं उन्हें के रूप में व्यावहारिक उपयोग के लिए निर्धारित करना होगा:
डोमेन सेवा - सेवाएं जो डोमेन की अखंडता को लागू करने और प्रविष्टि, निर्माण, विलोपन की सुविधा के लिए मौजूद हैं, और डेटा की पुनर्प्राप्ति डोमेन से इसके अतिरिक्त, डोमेन सेवाएं डोमेन ऑब्जेक्ट्स के उच्च स्तरीय संयोजनों को व्यूमोडेल में व्यवस्थित कर सकती हैं। अक्सर, ये रिपोजिटरी के शीर्ष पर मुखौटे होते हैं, कुछ निम्न स्तर के कार्यान्वयन को छिपाने के लिए काम करते हैं और अपेक्षाओं को प्रबंधित करने में सहायता के लिए यूएल (सर्वव्यापी भाषा) के साथ एक इंटरफ़ेस प्रदान करते हैं।
आवेदन सेवाएं - ऐसी सेवाएं जो डोमेन मॉडल के कार्यान्वयन के लिए विशिष्ट हैं या जिनके पास डोमेन मॉडल पर कोई निर्भरता नहीं है। इसका एक क्लासिक उदाहरण डोमेन में राज्य परिवर्तन या कार्रवाई के आधार पर भेज और ईमेल करेगा। यह आमतौर पर एप्लिकेशन की आवश्यकता होती है, और संभवतः डोमेन मॉडल द्वारा निर्दिष्ट नहीं किया जाता है। इसे डोमेन सेवा पर कॉल करने के बाद या डोमेन सेवा से उठाए गए ईवेंट के रूप में या तो एप्लिकेशन सेवा द्वारा प्रक्रियात्मक रूप से निष्पादित किया जा सकता है।
जैसा कि मैंने कहा, यह हर किसी के परिभाषाएँ फिट नहीं हो सकता है, लेकिन यह मुझे लगता है कि सही चिंताओं को सही जगह में जाना बनाने के लिए मदद करता है।
व्यापार तर्क रखने के लिए बेहतर स्थान कहां है - मुझे वास्तव में लगता है कि यह मुश्किल है। दृष्टिकोण की इस शैली के साथ एक से अधिक प्रकार के व्यावसायिक तर्क हैं। यदि कोई एप्लिकेशन-विशिष्ट तर्क आवश्यकता है जिसे डोमेन के भीतर परिभाषित नहीं किया जा सकता है, तो मैं इसे एप्लिकेशन सेवा परत में डाल दूंगा। एप्लिकेशन के बावजूद डोमेन को सीधे प्रभावित करने वाली चीजें, मैं डोमेन सेवा परत में डालूंगा।
समस्या वास्तव में यह जानने के लिए समय ले रही है कि एक वास्तविक "डोमेन चिंता" क्या है। उदाहरण के लिए, कोई उपयोगकर्ता कुछ मनमानी एप्लिकेशन पर टिप्पणी करने में सक्षम नहीं हो सकता है जब तक कि उसका ईमेल पता ज्ञात न हो। आप तर्क दे सकते हैं कि यह किसी भी परत में है। कुंजी वास्तव में संगत है।
स्रोत
2010-10-01 15:19:31
http://stackoverflow.com/questions/2268699/domain-driven-design-domain-service-plication- सेवा – Karsten