मैं एक ऐसा एप्लिकेशन बना रहा हूं जो कॉनरी के एमवीसी स्टोरफ्रंट के प्रारंभिक संस्करणों के समान शीर्ष पर एक सेवा परत के साथ भंडार पैटर्न का मोटे तौर पर पालन करता है।सेवा परत को HttpContext तक पहुंच प्राप्त करनी चाहिए?
मुझे एक ऐसे पृष्ठ को लागू करने की आवश्यकता है जो वर्तमान उपयोगकर्ता को छोड़कर सभी उपयोगकर्ताओं को लौटाए। मेरे पास पहले से ही रिपोजिटरी और सर्विस परतों पर GetUsers() विधियां हैं, इसलिए सवाल यह है कि "वर्तमान उपयोगकर्ता को छोड़कर" लागू करना है।
क्या सेवा परत को HttpContext से अवगत होना चाहिए, इस प्रकार इस नियम को लागू करना चाहिए? मैं वर्तमान उपयोगकर्ता (आईडी) को नियंत्रक से इस सेवा विधि में पास करने का लुत्फ उठा रहा हूं, लेकिन अगर सेवा परत HttpContext- जागरूक थी और यह स्वयं ही कर सकती है तो यह क्लीनर लगता है।
एक स्पष्ट विकल्प नियंत्रक के भीतर सीधे इस नियम को लागू करने के लिए है, लेकिन मैं सिर्फ इतना है कि इस विचार पर गर्म नहीं कर रहा हूँ ...
संपादित - बस जवाब पर टिप्पणी करने से: मैं समस्या दिखाई देती है रिवर्स निर्भरता समस्या के साथ, कुछ जो मैं पूरी तरह से अनदेखा कर रहा था। मैं मेहरदाद को उत्तर देय वोट के रूप में चिह्नित कर रहा हूं, लेकिन हर किसी ने वास्तव में पढ़ने के लायक मूल्यवान प्रतिक्रिया प्रदान की है!
बस उपयोगकर्ता आईडी पास करने में क्या गलत है? –
इसके साथ कुछ भी गलत नहीं है, मैं बस इसी तरह के सभी संदर्भ-जागरूक परिस्थितियों का इलाज करना पसंद करता हूं। – JonoW
मुझे यह विचार पसंद है, जोनो! मैं अभी आईडी को पास कर सकता हूं, अगर/जब मेरी सेवा विधियां पैराम और ओवरलोड के साथ बदसूरत हो रही हैं तो यह बहुत अच्छा होगा। सेवा ऑब्जेक्ट को तुरंत चालू करते समय मैं ऐपकॉन्टेक्स्ट पास भी कर सकता था, इस प्रकार सेवा को कुछ हद तक "जागरूक" करने की इच्छा पूरी कर रहा था लेकिन सिस्टम.Web पर निर्भर नहीं था। –