पिछले वर्ष में, मैंने डिपेंडेंसी इंजेक्शन और एक आईओसी कंटेनर का उपयोग करके एक नई प्रणाली बनाई। इसने मुझे DI के बारे में बहुत कुछ सिखाया!
हालांकि, अवधारणाओं और उचित पैटर्न को सीखने के बाद भी, मैं इसे कोड को डिकोड करने और एक विरासत आवेदन में आईओसी कंटेनर को पेश करने के लिए एक चुनौती मानता हूं। आवेदन इस बिंदु पर पर्याप्त है कि एक सच्चा कार्यान्वयन भारी होगा। भले ही मूल्य समझ में आया हो और समय दिया गया हो। कुछ इस तरह के लिए कौन समय दिया है ??
पाठ्यक्रम का लक्ष्य व्यावसायिक तर्क के लिए इकाई परीक्षण लाना है!
व्यावसायिक तर्क जो परीक्षण-रोकथाम डेटाबेस कॉल के साथ जुड़ा हुआ है।
मैंने लेख पढ़ा है और मैं गरीब आदमी के डिपेंडेंसी इंजेक्शन के खतरों को समझता हूं जैसा कि इस लॉस टेकीज़ लेख में वर्णित है । मैं समझता हूं कि यह वास्तव में किसी भी चीज को डिकूप नहीं करता है।
मैं समझता हूं कि इसमें बहुत अधिक प्रणाली शामिल हो सकती है क्योंकि कार्यान्वयन के लिए नई निर्भरता की आवश्यकता होती है। मैं नए प्रोजेक्ट पर किसी भी आकार के साथ इसका उपयोग करने पर विचार नहीं करूंगा।
प्रश्न: क्या विरासत की एप्लीकेशन के लिए टेस्टीबिलिटी का परिचय देने और बॉल रोलिंग शुरू करने के लिए गरीब आदमी के डीआई का उपयोग करना ठीक है ?
इसके अलावा, गरीब आदमी के डि का उपयोग एक घास की जड़ों के रूप में सही निर्भरता इंजेक्शन के लिए होता है जो सिद्धांत की आवश्यकता और लाभों पर शिक्षित करने का एक मूल्यवान तरीका है?
क्या आप एक ऐसी विधि को पुनः प्राप्त कर सकते हैं जिसमें डेटाबेस कॉल निर्भरता और सार है जो इंटरफ़ेस के पीछे कॉल करता है? बस उस अमूर्त होने से उस विधि को परीक्षण योग्य बनाया जा सकता है क्योंकि एक मॉक कार्यान्वयन एक निर्माता अधिभार के माध्यम से पारित किया जा सकता है।
सड़क के नीचे, एक बार समर्थकों को लाभ होने के बाद, परियोजना को आईओसी कंटेनर को लागू करने के लिए अद्यतन किया जा सकता है और निर्माणकर्ता वहां से बाहर हो जाएंगे जो कि अमूर्तता में लेते हैं।
I consider it a challenge to decouple code and introduce an IOC container into a legacy application
बेशक। इसे तकनीकी ऋण का नाम दिया गया है। यही कारण है कि किसी भी बड़े सुधार से पहले, यह बेहतर छोटे और सातत्य रिफैक्टर्स हैं। प्रमुख डिज़ाइन दोषों को कम करें और IoC पर जाना कम चुनौतीपूर्ण होगा।