java - Inversion of Control definition -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 28 जवाब
वसंत संदर्भ में हमने पढ़ा है:
आईओसी को निर्भरता इंजेक्शन (डीआई) के रूप में भी जाना जाता है। यह एक ऐसी प्रक्रिया है जिसके द्वारा ऑब्जेक्ट उनकी निर्भरता को परिभाषित करता है, अर्थात, वे जिन अन्य ऑब्जेक्ट्स के साथ काम करते हैं, केवल कन्स्ट्रक्टर आर्ग्यूमेंट्स के माध्यम से, फ़ैक्टरी पद्धति के तर्कों, या ऑटिजेंट इंस्टॉलेशन पर सेट किए गए गुणों के बाद या फैक्टरी विधि से लौटाए जाने के बाद ।
क्या मैं सही ढंग से समझता हूं? निर्भरता है -
1) अन्य वस्तुएं जिनके साथ वे काम करती हैं, केवल कन्स्ट्रक्टर आर्ग्यूमेंट्स के माध्यम से, फ़ैक्टरी पद्धति के लिए तर्क
2) गुण जो ऑब्जेक्ट इंस्टेंस के बाद तैयार की गई हैं फ़ैक्टरी पद्धति से लौटा
कृपया इन दो वस्तुओं का सरल उदाहरण दें और दूसरा प्रश्न - फैक्टरी पद्धति क्या है? कृपया विस्तार से बताएं, कृपया।
निर्भरता, उस परिभाषा से, है:
वर्ग विजेट {सार्वजनिक शून्य DoSomething () {WidgetCalculator के साथ काम करते हैं कैलकुलेटर = नया विजेटकॉल्यूलेटर (); Int someValue = calculator.calculate (); // और इतने पर ...}}इस सेटअप में,
विजेटपरविजेटकुल्युलेटरपर निर्भरता है। यह एक वस्तु है किविजेट"इसके साथ काम करता है" या बल्कि उस ऑब्जेक्ट कोविजेटकी आवश्यकता होती है ताकि अपने स्वयं के काम को पूरा किया जा सके उपर्युक्त कोड नौकरी करता है, लेकिन यह तंग युग्मन की ओर जाता है आप आसानी सेWidgetCalculatorके भिन्न कार्यान्वयन को स्वैप नहीं कर सकते हैं, उदाहरण के लिए, एक कक्षा में परिवर्तन तोड़ना अन्य वर्ग को तोड़ सकता है, आदि।यह वह जगह है जहां उपयोगी हो जाता है इसके बजाय बनाने
WidgetCalculatorका एक उदाहरण, यह की आवश्यकता एक हो सकता है यह इस रूप में सरल हो सकता है:वर्ग विजेट {सार्वजनिक शून्य DoSomething (WidgetCalculator कैलकुलेटर) {int someValue = calculator.calculate (); // और इतने पर ...}}अब ऑपरेशन करने के लिए, जो भी उपभोक्ता कोड लागू कर रहा है वह ऑपरेशन को इसके साथ
विजेटप्रदान करने की आवश्यकता है निर्भरता। अगर उस निर्भरता के साथविजेटपर बहुत सारे कोड हैं, तो उसे कन्स्ट्रक्टर तर्क में पदोन्नत किया जा सकता है ताकि उपभोक्ता कोड भी बनाएं एकविजेट < / कोड> निर्भरता की आपूर्ति के बिना:वर्ग विजेट {निजी अंतिम विजेट क्लॉक्युलेटर कैलकुलेटर; सार्वजनिक विजेट (विजेट कैलकुलेटर कैलकुलेटर) {this.calculator = कैलकुलेटर; } सार्वजनिक शून्य DoSomething () {int someValue = this.calculator.calculate (); // और इतने पर ...}}ऐसे कई तरीके हैं जिन पर निर्भरता प्रदान की जा सकती है, लेकिन मुख्य सिद्धांत यह है कि ऑब्जेक्ट की आवश्यकता है कि निर्भरता को इसके बजाय प्रदान किया जाए निर्भरता खुद की खोज करने से।
Comments
Post a Comment