應用程序編程介面
應用程序編程介面
應用程序編程介面是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟體或硬體的以訪問一組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。
應用程序編程介面,簡稱API(Application Programming Interface),就是軟體系統不同組成部分銜接的約定。
隨著軟體規模的日益龐大,我們需要把複雜系統劃分成小的組成部分,編程介面的設計十分重要。程序設計的實踐中,編程介面的設計首先要使系統的職責得到合理劃分。良好的介面設計可以降低系統各部分的相互依賴,提高組成單元的內聚性,降低組成單元間的耦合程度,從而提高系統的維護性和擴展性。
API之主要目的是提供應用程序與開發人員以訪問一組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。提供API所定義的功能的軟體稱作此API的實現。API是一種介面,故而是一種抽象。 A reference implementation of an API is the implementation created by the designer of the API, or one which other implementations of the API are expected to be compared against.
例如,圖形庫中的一組API定義調用繪製圖標函數的方式,以於屏幕上顯示圖標。程序中調用,編譯時連接到這組API,執行時便調用API的實現(庫)來顯示圖標。
操作系統的API可用來分配內存或訪問文件。許多系統與應用程序提供API介面與實現,比如圖形系統,資料庫,網路,Web服務,甚至於某些遊戲。
一組API經常是一套軟體開發工具包(SDK)的一部分。SDK亦可包含其它工具亦或至於硬體,兩個術語並不完全等同.
API有諸多不同設計。用於快速執行的介面通常包括函數,常量,變數與數據結構。也有其它方式,如通過解釋器,或是提供抽象層以遮蔽同API實現相關的信息,確保使用API的代碼無需更改而適應實現變化。