2011-09-14 21 views
5

सेवा लोकेटर एक बहुत उपयोगी अवधारणा की तरह लगता है और मैं इसे अपने ऐप में लागू करना चाहता हूं। हालांकि, मेरे पास कुछ प्रश्न हैं कि इसे कैसे कार्यान्वित किया जाना चाहिए और इसे अन्य प्रोग्रामिंग प्रतिमानों के संयोजन के साथ कैसे उपयोग किया जाना चाहिए।सेवा लोकेटर पैटर्न

  1. क्या एसएल सेवा को संग्रहीत कर रहा है? यही है, जब एसएल नष्ट हो जाती है, तो क्या यह स्वयं सेवा को भी नष्ट कर दे, या इसे किसी भी व्यक्ति को सेवा पंजीकृत करने के लिए छोड़ देना चाहिए?

  2. निर्भरता इंजेक्शन के बारे में क्या? अब जब मेरे पास एसएल है तो एसएल को पैरामीटर के रूप में पास करने में कोई बिंदु है या क्या मुझे इसे वैश्विक रूप से एक्सेस करना चाहिए? आखिरकार, डीआई के पूरे उद्देश्य को एसएल द्वारा भी कवर किया गया है, और मैं के साथ अपने कई कार्यों को अव्यवस्थित नहीं करना चाहूंगा

उत्तर

8

आपको लगता है कि होगा मैं इस लेख लिखा था (मैंने नहीं किया), पर विचार कितनी बार मैं इसे का संदर्भ लें:

Service Locator is an Anti-Pattern

निर्भरता इंजेक्शन आपकी निर्भरता स्पष्ट कर देता है। सेवा स्थान उन्हें कार्यान्वयन में फंसता है, और आपके लोकेटर पर एक कठिन निर्भरता बनाता है।

+2

सी # और जावा के लिए ग्रेट आलेख लेकिन इतना अच्छा नहीं सी ++। सी ++ निर्भरता इंजेक्ट करने का कोई तरीका नहीं है (उदाहरण के लिए ओवरलोडेड नया और ऑपरेटर हटाएं)। –

+0

लेख जावा के बारे में है - सी ++ नहीं, इसलिए बहुत उपयोगी नहीं है। –