व्यावसायिक तर्क बनाम सेवा परत


9

मैंने यह उत्तर पढ़ा: https://softwareengineering.stackexchange.com/a/234254/173318 कृपया मेरी समझ को ठीक करें

व्यावसायिक नियम वास्तविक दुनिया में व्यापार के चरणों की सूची को संदर्भित करते हैं (कोई कोड नहीं)।

बिजनेस लॉजिक , व्यापार नियमों को कोड में बदलने की प्रक्रिया को संदर्भित करता है और इन गुच्छा / तरह के कोड को "बिजनेस लॉजिक" के रूप में संबोधित किया जाता है।

और सेवा परत का उपयोग किस लिए किया जाता है? अगर मैं इस उत्तर को पढ़ता हूं, तो यह व्यावसायिक तर्क के साथ अलग नहीं लगता है https://stackoverflow.com/a/4817935/4190539

क्या सर्विस लेयर बिजनेस लॉजिक और रिपॉजिटरी के लिए एक दूसरे से मिलते हैं?


1
"सर्विस लेयर" एक सामान्य शब्द है, इसमें वह हो सकता है या जो आपको पसंद हो। एसओ ने आपके द्वारा उद्धृत प्रश्न "ASP.NET MVC में सर्विस लेयर" के बारे में बात कर रहा था, जो इस शब्द को अधिक विशिष्ट फ़ोकस देता है। क्या आप जानबूझकर बाद के बारे में बात कर रहे हैं? या आप बस अंतर याद किया?
डॉक्टर ब्राउन

जो मुझे अब तक मिला है। लेकिन मुझे उन सभी के बारे में आपका स्पष्टीकरण सुनना अच्छा लगेगा।
काकाशी

जवाबों:


11

"सेवा परत" एक वास्तुशिल्प शब्द है। यह सिस्टम के एक हिस्से को संदर्भित करता है जो उपयोगकर्ता इंटरैक्शन परत के नीचे लेकिन डेटा एक्सेस परत के ऊपर एक बहु स्तरीय वास्तुकला के बीच में कहीं बैठता है ।

व्यावसायिक तर्क को सेवा परत में लागू किया जा सकता है , जिससे व्यावसायिक नियम लागू होते हैं।

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

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


क्या यह ठीक है अगर मेरे पास सेवा निर्देशिका है और इसमें ऐसे स्थानों के रूप में कक्षाएं शामिल हैं जहां मैं व्यापार तर्क देता हूं और मैं रिपॉजिटरी, अन्य सेवाओं, सत्यापन को इंजेक्ट करता हूं?
काकशी

हां, डेटा एक्सेस सहित अन्य सेवाओं को सर्विस लेयर में इंजेक्ट करना स्वाभाविक है- इसे किसी तरह डेटा स्टोर करना होगा, और अगर ठीक से लिखा जाए तो यह नहीं पता होता है कि यह कैसे करना है।
जॉन वू

रिपॉजिटरी में कोई व्यवसाय कोड सही नहीं होना चाहिए? इसका अर्थ है कि रिपॉजिटरी को सत्यापन, फिल्टर या किसी अन्य स्ट्रेजग हेरफेर से स्पष्ट होना चाहिए जैसे कि स्ट्रेटोलर उदाहरण के लिए?
काकाशी

जरूरी नहीं कि (मैंने पहले ही अपने पोस्ट में आपको दो उदाहरण दिए हों) लेकिन सर्विस लेयर में ज्यादा से ज्यादा बिजनेस लॉजिक को आगे बढ़ाना एक अच्छा अभ्यास है।
जॉन वू

ओह ठीक है, btw क्या आपके पास रिपॉजिटरी पैटर्न कोड है जिसे मैं देख सकता हूं?
काकासी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.