应用程序接口
|
|
此条目或章节需要精通或熟悉本主题的专家参与编辑 請协助邀請適合的人士,或參照相關專業文獻,自行改善这篇条目。更多的細節與詳情請參见條目討論頁。 |
应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常會需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。
目录 |
[编辑] 概要
应用程序接口為:「『電腦操作系统(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 in object-oriented languages
[编辑] API libraries and frameworks
[编辑] API and protocols
[编辑] API and device interfacing
[编辑] Web APIs
[编辑] API的开发样例代码
API的应用开发需要按照API发布者提供的的规范进行开发。
比如,以下两个例子是Windows API在各编程语言中的表达方式:
[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...);
[编辑] 参看
[编辑] 外部連結
- How to design a good API and why it matters-PDF
- How to Write an API. Practical example with detailed code and motivation.
- Service-Oriented Architecture (SOA): The Road to Enterprise Application Integration (EAI)
- ISO/IEC JTC 1 Directives, 5th Edition Version 3.0, Annex J: Guidelines for API standardization