इस सवाल से पूछने का एक और तरीका यह है कि: आपके अनुसार नियंत्रण में उलटा क्या है?ओओ भाषाओं के लिए विशिष्ट नियंत्रण में उलटा है?
मैं इस सवाल से पूछता हूं क्योंकि IoC पर विकिपीडिया लेख को गैर-ओओ स्पष्टीकरण द्वारा अपहरण कर लिया गया है। यह discussion page से लिया जाता है और है 2007 से:
मैं स्वतंत्रता ले लिया पूरी तरह से पेज के पुनर्लेखन के लिए, के रूप में पिछली सामग्री पूरी तरह से प्रलाप व्यर्थ "उन्मुख वस्तु" से लिया गया था ...
मुझे नहीं लगता कि नियंत्रण में उलटा ओओ भाषा के बाहर कोई समझ नहीं आता है। प्रक्रियात्मक भाषाओं में नियंत्रण छोड़ने के लिए पहले से ही कई स्पष्टीकरण हैं (ईवेंट प्रोग्रामिंग एक है) और पूरी तरह से कार्यात्मक भाषाओं को नियंत्रण में बदलाव जैसी अवधारणा की आवश्यकता नहीं है क्योंकि उनके पास उच्च-आदेश कार्य हैं।
इसके अलावा, article में जहां मार्टिन फाउलर आईओसी पर विस्तारित करता है, वह विशेष रूप से ओओ उदाहरणों को संभालता है।
तो, आईओसी विशेष रूप से एक ओओ अवधारणा है, और यह वास्तव में क्या है?
मेरे लिए, आईओसी अधिकांश ओओ भाषाओं को लागू करने वाली सीमाओं के भीतर डेटा को बदलने की कोशिश करता है, और अन्य कार्यों के लिए तर्क के रूप में डेटा को पास करने की कोशिश करता है। यह आईओसी का एकमात्र हिस्सा नहीं है, लेकिन इसमें से कुछ है।
कारखाने के डिजाइन पैटर्न भी हैं, जहां वस्तुओं के पेड़ का निर्माण किया जा रहा है और पारित होने से पहले कॉन्फ़िगर किया जा रहा है।
मेरे लिए, आईओसी विशेष रूप से एक ओओ अवधारणा है।
आपका उत्तर क्या है?
पूरी तरह से सहमत हैं कि एक समृद्ध प्रकार प्रणाली के साथ उपयोग करना आसान है। यह प्रथम श्रेणी के नागरिकों के रूप में कार्यों के साथ _even_ आसान हो जाता है। – xtofl