के बीच अंतर को समझता हूं, जो 3 मुहावरों के बीच अंतर के बारे में कई पोस्ट पढ़ता है। लेकिन अधिक उलझन में आया, तो मैं इस आलेख में भाग गया: http://martinfowler.com/articles/injection.htmlverifiying मैं आईओसी, आईओसी कंटेनर, डी और सेवा लोकेटर
बस यह देखना चाहता है कि मुझे यह अधिकार मिला है या नहीं। कृपया मुझे सुधारें अगर मैं गलत हूं। कृपया मुझे सुधार और परिवर्धन के बारे में सूचित:
ioc- एक सेवा का उपयोग करता है के कार्यान्वयन से एक आवेदन decoupling की अवधारणा है। आवेदन में सेवा के लिए एक रेफरी है और ठोस सेवा को कम करने का प्रभारी नहीं है।
कम से कम दो तरह से इतना हासिल करने के लिए कर रहे हैं:
डि - ठोस सेवा एक ctor परम के रूप में इंजेक्ट किया जाता है/एक सेटर/फेंक इंटरफ़ेस इंजेक्शन (फेंक क्या उत्तरार्द्ध मतलब है?)
सर्विसलोकेटर - एक ऐसा घटक है जो एप्लिकेशन को आवश्यक सभी ठोस सेवाओं को जानता है। आवेदन लोकेटर से कंक्रीट सेवा के लिए स्पष्ट रूप से पूछता है।
* आईओसी कंटेनर वास्तव में एक नियंत्रण 'कारखाना ("प्रदाता") है।
मुझे लेख में "कब पसंद करना (1) या (2)" भाग से थोड़ा उलझन मिला। कोई व्यक्ति किसी आम आदमी शब्दों में अपने अनुभव से बता सकता है?
"सेवा लोकेटर के पास इसके अधिक सरल व्यवहार के कारण थोड़ा सा बढ़त है। हालांकि यदि आप कई अनुप्रयोगों में कक्षाओं का निर्माण कर रहे हैं तो निर्भरता इंजेक्शन बेहतर विकल्प है।" -> लोकेटर को और अधिक सरल कैसे है? क्योंकि यह विधि आमंत्रण का स्पष्ट रूप से उपयोग करता है? कई अनुप्रयोग होने पर DI का उपयोग करना बेहतर होता है?
शायद आप इस लेख के उस हिस्से में विशिष्ट विचारों को हाइलाइट कर सकते हैं जो आपको भ्रमित लग रहा है? – prasopes
"सेवा लोकेटर के पास इसके अधिक सरल व्यवहार के कारण थोड़ा सा बढ़त है। हालांकि यदि आप कई अनुप्रयोगों में कक्षाओं का निर्माण कर रहे हैं तो निर्भरता इंजेक्शन एक बेहतर विकल्प है।" -> लोकेटर को और अधिक सरल कैसे है? क्योंकि यह विधि आमंत्रण का स्पष्ट रूप से उपयोग करता है? कई अनुप्रयोग होने पर DI का उपयोग करना बेहतर होता है? –
संबंधित: http://stackoverflow.com/questions/6766056/dip-vs-di-vs-ioc –