ভাল এপিআই ডিজাইন করা একটি শিল্প। ভাল সময় শেষ হওয়ার পরেও ভাল এপিআইয়ের প্রশংসা করা হয়। আমার মতে, বিমূর্ত-কংক্রিট লাইনে কোনও সাধারণ পক্ষপাত হওয়া উচিত না। কিছু প্যারামিটারগুলি সপ্তাহের দিনগুলির মতো কংক্রিট হতে পারে, কিছুকে এক্সটেনসিবিলিটির জন্য নকশা করা প্রয়োজন (এবং এগুলি কংক্রিট হিসাবে তৈরি করা যথেষ্ট বোকামি, উদাহরণস্বরূপ, ফাংশন নামের অংশ), অন্যটি আরও সুন্দরভাবে এগিয়ে যেতে পারে এবং আরও সুন্দর হতে পারে API কে কলব্যাক সরবরাহ করতে হবে এমনকি ডোমেন নির্দিষ্ট ভাষাও জটিলতার সাথে লড়াই করতে সহায়তা করবে।
চাঁদের নীচে খুব কমই নতুন কিছু ঘটছে। পূর্ববর্তী শিল্পটি দেখুন, বিশেষত প্রতিষ্ঠিত মান এবং ফর্ম্যাটগুলি (উদাহরণস্বরূপ, অনেকগুলি ফিডের পরে মডেল করা যায়, ইভেন্টের বিবরণ Iical / vcal এ বিস্তৃত হয়েছিল) were আপনার এপিআইটিকে সহজেই যুক্ত করুন, যেখানে ঘন ঘন এবং সর্বজনীন সত্তা কংক্রিট এবং কল্পনাযুক্ত এক্সটেনশনগুলি অভিধান হয়। নির্দিষ্ট পরিস্থিতি মোকাবেলার জন্য কয়েকটি সু-প্রতিষ্ঠিত নিদর্শনও রয়েছে। উদাহরণস্বরূপ, এইচটিটিপি অনুরোধ পরিচালনা করা (এবং অনুরূপ) অনুরোধ এবং প্রতিক্রিয়া অবজেক্ট সহ API এ মডেল করা যেতে পারে।
এপিআই ডিজাইন করার আগে, এমন দিকগুলি সহ মস্তিষ্কের ঝড়, যা অন্তর্ভুক্ত করা হবে না তবে আপনাকে অবশ্যই সচেতন হতে হবে। ভাষা, লেখার দিকনির্দেশ, এনকোডিং, লোকেল, টাইমজোন সম্পর্কিত তথ্য এবং এর মতো উদাহরণ। যেখানে বহুগুণ উপস্থিত হতে পারে সেদিকে মনোযোগ দিন: তালিকাটি ব্যবহার করুন, তাদের জন্য একক মান নয়। উদাহরণস্বরূপ, আপনি যদি ভিডিওচ্যাট সিস্টেমের জন্য এপিআই নির্ধারণ করছেন, আপনার এনআইপি অনেক বেশি কার্যকর হবে, যদি আপনি এন অংশগ্রহণকারীদের ধরে নেন তবে কেবল দুটি নয় (যদিও এই মুহুর্তে আপনার চশমাগুলি এমন such
কখনও কখনও, বিমূর্ততা জটিলতা মারাত্মকভাবে হ্রাস করতে সহায়তা করে: আপনি কেবল 3 + 4, 2 + 2 এবং 7 + 6 যুক্ত করার জন্য একটি ক্যালকুলেটর ডিজাইন করলেও এক্স + ওয়াই প্রয়োগ করা (এক্স এবং প্রযুক্তিগতভাবে সম্ভাব্য সীমানা সহ) প্রয়োগ করা আরও সহজ হতে পারে Y, এবং আপনার API এ ADD_3_4 (), ADD_2_2 () এর পরিবর্তে ADD (X, Y) অন্তর্ভুক্ত করুন ...
সব মিলিয়ে একটি বা অন্য উপায় বাছাই করা কেবল প্রযুক্তিগত বিবরণ। আপনার ডকুমেন্টেশনে একটি ঘন ঘন ব্যবহারের ক্ষেত্রে একটি কংক্রিট পদ্ধতিতে বর্ণনা করা উচিত।
আপনি ডেটা স্ট্রাকচার দিকটি যাই করুন না কেন, একটি API সংস্করণের জন্য একটি ক্ষেত্র সরবরাহ করুন।
সংক্ষিপ্তসার হিসাবে, আপনার সফ্টওয়্যারটির সাথে ডিল করার সময় এপিআইয়ের জটিলতা হ্রাস করা উচিত। এপিআইয়ের প্রশংসা করতে, উন্মুক্ত জটিলতার মাত্রা পর্যাপ্ত হওয়া উচিত। এপিআই-র ফর্মের বিষয়ে সিদ্ধান্ত নেওয়া সমস্যা ডোমেনের স্থিতিশীলতার উপর অনেক বেশি নির্ভর করে। সুতরাং, সফ্টওয়্যার এবং এটির এপিআই কোন দিকে গড়াবে সে সম্পর্কে কিছুটা অনুমান করা উচিত, কারণ এই তথ্য জটিলতার সমীকরণকে প্রভাবিত করতে পারে। এছাড়াও, লোকেরা বোঝার জন্য এপিআই ডেসিং রয়েছে। আপনি যে সফ্টওয়্যার প্রযুক্তির ক্ষেত্রে রয়েছেন তাতে যদি কোনও ভাল traditionsতিহ্য থাকে তবে এগুলি থেকে খুব বেশি বিচ্যুত হওয়ার চেষ্টা করবেন না, কারণ এটি বুঝতে সহায়তা করবে। আপনি যার জন্য লিখবেন তা বিবেচনা করুন। আরও উন্নত ব্যবহারকারীরা সাধারণতা এবং নমনীয়তার প্রশংসা করবে, যখন কম অভিজ্ঞতার সাথে তারা একত্রে আরও স্বাচ্ছন্দ্য বোধ করতে পারে। তবে, সেখানে বেশিরভাগ এপিআই ব্যবহারকারীর যত্ন নেওয়া,
সাহিত্যের দিকে আমি নেতৃস্থানীয় প্রোগ্রামাররা "বিউটিফুল কোড" সুপারিশ করতে পারি যে তারা কীভাবে অ্যান্ডি ওরাম, গ্রেগ উইলসন দ্বারা চিন্তাভাবনা করে তা ব্যাখ্যা করুন, কারণ আমি মনে করি যে সৌন্দর্য লুকানো অনুকূলতা (এবং কোনও উদ্দেশ্যে উপযুক্ততা) অর্জন সম্পর্কে।