मैं रॉबर्ट मुन्टेनु से सहमत हूं।
असल में आप अपने व्यापार तर्क को बढ़ाते हैं जो आपके मॉडल में मध्य स्तर में अंतर्निहित नहीं है। मध्यम स्तर व्यापारिक स्तर/व्यावसायिक वस्तुओं/व्यापार तर्क परत/आदि है, लेकिन इसे केवल सेवा स्तर के रूप में जाना जाता है। यह एक webservice होना आवश्यक नहीं है, यह शब्द सेवा का व्यापक उपयोग है जिसमें यह एक विशिष्ट अनुप्रयोग क्षेत्र की कार्यक्षमता को जोड़ता है।
आपके पास मूल रूप से एक ग्राहक सेवा वर्ग होगा जिसमें भंडार संदर्भ होगा। आपकी प्रस्तुति परत सेवा परत वर्ग का संदर्भ देगी।
एक अतिरिक्त भेद है जिसे आपके नाम से अनुमान के रूप में बनाया जा सकता है, जिसे आप .NET का उपयोग कर रहे हैं, और संभवतः LINQ से SQL का उपयोग करके अपने भंडार के रूप में NerdDinner में उल्लिखित है।
रिपोजिटरी आमतौर पर सेवा परत के लिए IQueryable लौटाता है, जिससे सर्विस लेयर चेन को अलग-अलग परिणाम सेट बनाने के लिए कई प्रश्न मिलते हैं। सेवा तब ToList या किसी अन्य विधि का उपयोग करके अभिव्यक्ति का मूल्यांकन करती है और प्रेजेंटेशन परत पर लौटाती है।
रॉब कॉनरी द्वारा एमवीसी स्टोरफ्रंट ने मुझे रिपोजिटरी पैटर्न पर बदल दिया लेकिन दुर्भाग्य से उन्होंने वीडियो में उस निर्णय को स्पष्ट किए बिना सेवा परत को दोबारा प्रतिक्रिया दी है। तो मैं चिंतित था कि शायद यह सबसे अच्छा तरीका नहीं था। –
मुझे इसी तरह के मुद्दे का सामना करना पड़ा, क्या यह सबसे अच्छा वास्तुकला है? मैंने कारखानों के साथ परत के शीर्ष पर अनुबंध के साथ इंटरफेस के बारे में चिंता करना बंद कर दिया और इसे काम करने पर ध्यान केंद्रित किया। मुझे अक्सर लगता है कि लोग अधिक से अधिक आर्किटेक्चरिंग समाधान हैं। क्या कोडबेज के इस पल को बनाने का उद्देश्य, अपनी ताकत और परतों और स्तरों की पूर्णता के लिए श्रद्धांजलि है? मुझे लगता है कि जब तक आप अपनी डेटा सामग्री को अपने भंडार में रखते हैं, तो आपकी व्यावसायिक सेवाओं में आपका "व्यवसाय तर्क" और आपके दृश्यों में आपकी यूआई सामग्री आपको जाने के लिए अच्छी होती है। जब आप – blu
पर जाते हैं और सॉफ़्टवेयर का लक्ष्य पूरा करते हैं, तो सॉफ़्टवेयर को क्या करना चाहिए, इसे पूरा करें। – blu