应用程序接口













应用程序接口英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。





目录





  • 1 概要


  • 2 API種類


    • 2.1 面向对象语言的API


    • 2.2 库与框架的API


    • 2.3 API与协议


    • 2.4 API与设备接口


    • 2.5 Web API




  • 3 API的开发样例代码


  • 4 参考文献


  • 5 外部連結


  • 6 参见





概要


应用程序接口為:「『電腦操作系统(Operating system)』或『程式函式庫』提供給應用程式呼叫使用的程式碼」。其主要目的是讓應用程式開發人員得以呼叫一組例程功能,而無須考慮其底層的原始碼為何、或理解其内部工作機制的細節。API本身是抽象的,它僅定義了一個介面,而不涉及应用程序在实际实现过程中的具体操作。


例如,图形库中的一组API定義了繪製指標的方式,可於图形输出设备上顯示指標。當應用程式需要指標功能時,可在引用、編譯時連結到這組API,而執行時就會呼叫此API的實現(库)來顯示指標。


应用程序接口是一組數量上千、極其複雜的函數和副程式,可讓程式設計師做很多工作,譬如「讀取文件」、「顯示選單」、「在視窗中顯示網頁」等等。操作系统的API可用來分配記憶體或讀取檔案。許多系統應用程式藉由API接口來實現,像是圖形系統、資料庫、網路Web服务,甚至是線上遊戲。


应用程序接口有诸多不同设计。用于快速执行的接口通常包括函数、常量、变量与数据结构。也有其它方式,如通过解释器,或是提供抽象层以遮蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。


应用程序接口經常是软件开发工具包(SDK)的一部分。



API種類


API又分为(Windows、Linux、Unix等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软Windows的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展。如Google、苹果电脑公司,以及诺基亚等手机开发的API等等。



面向对象语言的API



  • JAVA API 列表英语List of Java APIs



库与框架的API



  • Windows API


  • 微软Windows的DirectX


  • Simple DirectMedia Layer(SDL)



API与协议



  • LDAP應用程式介面英语LDAP Application Program Interface



API与设备接口



  • PC BIOS调用接口


  • ASPI for SCSI device interfacing



Web API





  • Google地图的API

  • MediaWiki API





API的开发样例代码


API的应用开发需要按照API发布者提供的的规范进行开发。


比如,以下两个例子是Windows API在各编程语言中的表达方式:



  • Visual Basic



[Public|Private] Declare Function|Sub name Lib "libname" [Alias "aliasname"]([[Byval] variable [As type][[Byval] variable [As type]]...]) [As type]




  • C#(C Sharp)



[DllImport("libname", 'Named Parameters')]
[public|private|internal] [Type] FunctionName(Type parameter1,Type parameter2...);



参考文献




外部連結





  • 设计好的应用程序接口之法及其重要性 (英文)


  • 如何写应用程序接口 (英文) 可实现的范例,并带有详细的代码及原因。


  • 面向服务的体系结构(SOA):通向企业应用集成(EAI)之路(英文)


  • ISO/IEC JTC 1 Directives, 5th Edition Version 3.0, Annex J: Guidelines for API standardization(英文)




参见




  • 软件工程







Popular posts from this blog

飯後這10個壞習慣危害太大了,都是你習以為常的!可惜沒幾個人知道這些危害!

早晨一杯水,身體遲早會有4個變化!想身體健康,會喝水很重要!醫生關心您!