में निर्भरता इंजेक्ट करें क्या सी # या जावा जैसी अन्य प्रोग्रामिंग भाषाओं जैसे ES2015 मॉड्यूल में निर्भरता इंजेक्ट करना संभव है? यदि मैं एक मॉड्यूल आयात करता हूं तो मैं इसके लिए एक कठिन निर्भरता बनाता हूं और इसे बाद में रनटाइम पर नहीं बदल सकता। उदाहरण के लिए मेरे पास निम्नलिखित जावास्क्रिप्ट कोड हैं:ES2015 मॉड्यूल
import Animal from './dog';
class Person {
feedAnimal() {
new Animal().feed();
}
}
मैं कुत्ते मॉड्यूल आयात कर रहा हूं। लेकिन अगर मैं इसे बिल्ली में बदलना चाहता हूं तो क्या होगा? फिलहाल मुझे लाइन 1 को हाथ से संशोधित करना है, लेकिन कुछ परिस्थितियों में मैं इसे बाहर से कॉन्फ़िगर करने योग्य बनाना चाहता हूं ताकि कुछ स्थितियों में एक बिल्ली हो और कुछ अन्य स्थितियों में यह बिल्ली हो। शास्त्रीय निर्भरता इंजेक्शन के साथ उन सभी चीजों को किया जा सकता है।
मैं जानता हूँ कि कुछ डि वहाँ चौखटे Scatter, Electrolyte, Wire और इतने पर लेकिन दुर्भाग्य की तरह उनमें से ज्यादातर कुछ विशेष वाक्य रचना की आवश्यकता होती है और ES2015 modules के लिए बने नहीं हैं देखते हैं।
आप निर्भरता इंजेक्शन को काम करने के लिए कैसे चाहते हैं? आप 'वर्ग व्यक्ति {कन्स्ट्रक्टर (पशु) {यह। अनंत = पशु कर सकते हैं; } feedAnimal() {नया यह। अंतिम() फ़ीड()}} ', लेकिन ऐसा लगता है जैसे आप कुछ और अधिक उन्नत उम्मीद करते हैं। – lyschoening
मुझे यकीन नहीं है कि ['requ-inject'] (https://www.npmjs.com/package/require-inject) इसका समर्थन करता है, लेकिन आप एक नज़र रखना चाहेंगे। – thefourtheye
@lyschoening धन्यवाद, लेकिन मैं आंतरिक मॉड्यूल निर्भरताओं को बदलना चाहता हूं जैसे कि मैं एक यूनिट टेस्ट लिखूंगा। – LongFlick