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