2009-09-12 17 views
18

क्या एक ढांचा आपको अमूर्त जेनेरिक कोड की अनुमति देता है - लेकिन पूर्ण तरीके से नहीं (उदा: नेटवर्क कनेक्शन को सार - लेकिन वास्तव में डेटा के साथ आप क्या नहीं करते हैं), और किसी भी सामान्य सामान्य आवश्यकता को हल नहीं करता है जबकि टूलकिट में समाधान होते हैं सामान्य समस्याओं के लिए (पूर्व: संवाद बॉक्स विजेट)?ढांचे और टूलकिट के बीच बड़ा अंतर क्या है?

असली दुनिया उदाहरण: Prototype एक "ढांचा" है, लेकिन Dojo एक "टूलकिट" है।

तो मेरा सवाल यह है कि, इसे एक टूलकिट कहकर कुछ ढांचे को कॉल करने के मानदंड क्या हैं?

उत्तर

12

फ्रेमवर्क डेवलपर पर कुछ डिज़ाइन पैटर्न लागू करता है और कोड जनरेशन के लिए कुछ टूल देता है। यह मेरी पहली वाक्य के साथ अच्छी तरह से बैठता है, क्योंकि यह एक निश्चित शैली/पैटर्न में कोड उत्पन्न करता है।
लाइब्रेरी आपको अपनी इच्छानुसार उपयोग करने के लिए कार्यक्षमता देता है। सी के stdio कार्यों की तरह, सी # के कंसोल, पीएचपी आदि के कार्यों
आपको API

9

का एक प्रकार मेरी किताब में के रूप में एक पुस्तकालय के संबंध में कर सकते हैं "में बनाया", एक रूपरेखा एक संरचना प्रदान करता है और प्रोत्साहित करती है या आवश्यकता है कि यह एक निश्चित तरीके से इस्तेमाल किया जा सकता है। यह अच्छा हो सकता है यदि डेवलपर चीजों को ढांचे के तरीके से करना चाहता है, क्योंकि कई चीजों के लिए स्वचालित होना आसान है, लेकिन डेवलपर ढांचे के इरादे से विचलित होना चाहता है तो यह बुरा हो सकता है।

दूसरी तरफ एक टूलकिट विभिन्न टूल प्रदान करता है जिनका उपयोग एक साथ या अलग से किया जा सकता है। यह अधिक लचीला है लेकिन प्रोग्रामर की ओर से अधिक प्रयास की आवश्यकता है।

25

Inversion of Control पर अपने लेख में मार्टिन Folwer का हवाला देते हुए:

नियंत्रण के उलट क्या एक रूपरेखा एक पुस्तकालय के लिए अलग बनाता है का एक महत्वपूर्ण हिस्सा है। एक लाइब्रेरी अनिवार्य रूप से फ़ंक्शंस सेट है जिसे आप, पर कॉल कर सकते हैं, इन दिनों आमतौर पर कक्षाओं में व्यवस्थित किया जाता है। प्रत्येक कॉल कुछ काम करता है और ग्राहक को नियंत्रण देता है।

एक रूपरेखा अधिक में बनाया व्यवहार के साथ कुछ सार डिजाइन का प्रतीक। ताकि इसे उपयोग करने के लिए आप अपने खुद के प्लग इन करके की जरूरत में विभिन्न स्थानों में अपने व्यवहार सम्मिलित ढांचे या तो उपवर्गीकरण द्वारा या में कक्षाएं। ढांचे का कोड तब पर अपने कोड पर कॉल करता है।

तो संक्षेप में, बड़ा अंतर यह है कि आपका कोड लाइब्रेरी को कॉल करता है जबकि एक फ्रेमवर्क आपके कोड को कॉल करता है।

संबंधित मुद्दे