أفضل الممارسات والإرشادات لتصميم واجهة برمجة التطبيقات [مغلقة

StackOverflow https://stackoverflow.com/questions/2619854

  •  26-09-2019
  •  | 
  •  

سؤال

ما هي بعض الإرشادات وأفضل الممارسات التي يمكنني الالتزام بها أثناء تصميم واجهة برمجة التطبيقات؟ على الأقل ، أعلم أن واجهة برمجة التطبيقات يجب أن تكون سهلة الاستخدام ومرنة. لسوء الحظ ، يمكن أن تكون هذه المصطلحات ذاتية إلى حد ما ، لذلك كنت أبحث عن بعض الإرشادات الملموسة المتعلقة بتصميم API الجيد.

هل كانت مفيدة؟

المحلول

لقد وجدت أن ما يلي يستحق مشاهدة Joshua Bloch - كيفية تصميم واجهة برمجة تطبيقات جيدة ولماذا يهم

الأمثلة في جافا ولكن لا يزال يمكنك رسم أوجه التشابه. بما أنك لم تذكر تقنية محددة ؛ أفترض أنك لا تريد حلولًا متخصصة.

نصائح أخرى

كشخص يجب أن يستهلك الكثير من واجهات برمجة التطبيقات ...

الرجاء كتابة واجهة برمجة التطبيقات الخاصة بك بطريقة متسقة:

  1. تسمية متسقة داخل واجهة برمجة التطبيقات نفسها. استخدم الأفعال والأسماء والكلمات الرئيسية بنفس النمط بالضبط.

  2. تمشيا مع البيئة المستهدفة التي سيتم استخدامها في. إذا .NET ، استشر إرشادات التسمية من Microsoft.

  3. مفاهيم متسقة. نمط المصنع؟ نمط الباني؟ طرق ثابتة؟ واجهات؟ فقط اختر واحدة ، والتمسك بها. هل حقا. لا يوجد شيء مثل أ صغير استثناء من القاعدة. سوف تلتصق كإبهام مؤلم كبير. أكثر من استثناء واحد؟ واجهة برمجة التطبيقات الخاصة بك أكثر فأكثر هواة.

هذا واحد آخر: الخصوصية.

  1. الفصول الأساسية التي يمكنني تنفيذها ، إذا اخترت تقديمها ، يجب أن يكون لها وظائف قليلة ومحددة جيدًا للتنفيذ. لا تخبرني "getData ()" بإرجاع "كائن [] ثم أتوقع مني تنفيذه ، واكتشف لماذا يجب عليّ إلقاءها على سلسلة [] ، ثم تصحيح لماذا يطلق عليه 20 مرة. من الأفضل أن يكون لديك DataPoint [] getChartData () ، و string [] getLabelData () ، وما إلى ذلك ، واسمحوا لي أن أختار أي منها يجب أن أقوم بتطبيقه.

  2. من فضلك لا تحصل على سخيفة طويلة مع أسماء: posstrenderColorWheelModifyHSVBaseHandler. يمكنك في كثير من الأحيان إعادة تشكيل الأشياء الفائقة إلى اسم أكثر عامة + معلمات.

  3. معلمات السلسلة هي لا! استخدام التعدادات. لا أريد استخدام معالج مثل

    PostrenderHandler ("Colorwheel" ، "HSV" ، يومًا ما) ؛

أفضل أن أحب التعداد الذي يمكنني التحقيق فيه:

PostRenderHandler(ModuleType.ColorWheel, Options.ColorWheelHSV, someDelegate);

يا رجل ، يمكن أن أستمر ... قوة لرجال جوش بلوش - يمكن أن تكون واجهات برمجة التطبيقات المكتوبة جيدًا رائعة ... يمكن أن تكون مؤلمة حقًا.

هناك عرض جيد حول هذا الموضوع من Joshua Bloch. يستخدم العرض التقديمي جافا ولكن الأفكار مستقلة اللغة. مصدر آخر (PDF) للحصول على نظرة عامة سريعة.

هذا رابط من Microsoft:http://msdn.microsoft.com/en-us/library/ms229042.aspx

هناك أيضًا هذا الكتاب: إرشادات تصميم الإطار: الاتفاقيات ، التعابير ، وأنماط مكتبات .NET القابلة لإعادة الاستخدام

أعتقد أن سؤالك لن يتم الإجابة عليه في هذا المبلغ من المساحة مع مقدار المعلومات التي تقدمها. لقد وضعت عدة روابط من كتابة "تصميم API" في Google ، وفي الصفحة الأولى ، احصل على هذه الأشياء التي تبدو جيدة

http://web.archive.org/web/20151229055009/http://lcsd05.cs.tamu.edu/slides/keynote.pdf

http://www.artima.com/weblogs/viewpost.jsp؟thread=142428

http://web.archive.org/web/20090520234149/http://chaos.troll.no/~shausman/api-design/api-design.pdf

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top