यह महान एपीआई के बारे में क्या है जो उन्हें महान बनाता है? मुझे लगता है कि "एक काम करो और इसे अच्छी तरह से करो" मंत्र का पालन करना एक अच्छा संकेत है और समस्या डोमेन के लिए एक अच्छा मानचित्रण महत्वपूर्ण है, लेकिन महान एपीआई में क्या आम है?
यह महान एपीआई के बारे में क्या है जो उन्हें महान बनाता है? मुझे लगता है कि "एक काम करो और इसे अच्छी तरह से करो" मंत्र का पालन करना एक अच्छा संकेत है और समस्या डोमेन के लिए एक अच्छा मानचित्रण महत्वपूर्ण है, लेकिन महान एपीआई में क्या आम है?
जवाबों:
आपको अपने एपीआई के लिए नई शब्दावली जोड़ने से बचने के लिए सावधान रहना होगा। मेरे पसंदीदा एपीआई मुझे पहले से समझ में आने वाली शब्दावली में चीजों को समझाते हैं। उन पंक्तियों के साथ:
मुझे पहले से ही अमूर्तता की आधा दर्जन परतों के बारे में सोचना है। मुझे अतिरिक्त परतों के बारे में सोचने की ज़रूरत नहीं है। मुझे बहुत सी नई चीजें सीखने के लिए मत दें जो मेरे अंतिम लक्ष्य के लिए मूल्य नहीं जोड़ेंगे। उदाहरण के लिए, अपने स्वयं के विशेष फ़ाइल वर्ग का उपयोग करने से बचें जो अलग तरह से काम करता है, तो भाषा का फ़ाइल प्रकार सिर्फ आपको लगता है कि आपका रास्ता आम तौर पर स्वीकृत तरीके से बेहतर है। छड़ी आम तौर पर स्वीकृत तरीके से, कम से कम आपके इंटरफेस में, बेहतर या बदतर के लिए।
उदाहरण के लिए, इस तथ्य को छिपाने की कोशिश न करें कि आपके एमवीसी ढांचे का "मॉडल" हिस्सा एक डेटाबेस के लिए फ्रंट एंड है। "डेटाबेस" के आसपास की प्रसिद्ध शब्दावली का लाभ उठाएं। मुझे पता है कि विदेशी चाबियां क्या हैं। मुझे पता है कि पंक्तियाँ और स्तंभ क्या हैं। इन शब्दों में मुझसे बात करो।
ठोस विचारों के साथ काम करने के समान। तथ्य यह है कि हम फ़ाइलों या डेटाबेस या डेटाबेस में पंक्तियों के साथ काम कर रहे हैं छिपा मत करो। मुझे ये बातें पता हैं। यदि मैं एक कंटेनर के साथ काम कर रहा हूं, तो एक सूची की तरह, आम ऑपरेशन के एल्गोरिदम की जटिलता को जानने का एक अच्छा मौका है। आप इसे बहुत आसान कर सकते हैं, बस मुझे इसकी "लिंक्ड लिस्ट" या "एरे" बताकर। विचारों का एक विशाल सेट अचानक लाया जाएगा कि आप क्या कर रहे हैं और यह सब अचानक समझ में आएगा। विचारों का अपना सेट न बनाएं, जो मुझे सीखना होगा जब मैं समस्या पर लागू होने के लिए पहले से ही शब्दावली का एक समृद्ध और उपयोगी सेट लेकर आऊंगा।
अगर मैं किसी भी प्रकार की छवि फ़ाइल खोलने के लिए आपके API का उपयोग कर रहा हूं, तो मुझे pngs बनाम gifs बनाम jpgs के बारे में अधिक नहीं सोचना चाहिए। आप मेरे लिए ऐसा करेंगे। इसकी मूल योग्यता, मेरी नहीं। मुझे कुछ अस्पष्ट समझ है कि आपके पास मेरे लिए ऐसा करने के लिए कुछ जादू है।
एक उपयोगी एपीआई में निम्नलिखित हैं:
X
बाकी एपीआई द्वारा निर्धारित कन्वेंशन से पूरी तरह से अलग है।यह सवाल नेटबियंस टीम के जारोस्लाव टलाच ने "प्रैक्टिकल एपीआई डिज़ाइन: कन्फेशंस ऑफ़ अ जावा फ्रेमवर्क आर्किटेक्ट" में संबोधित किया है।