计算机科学

首页 > 计算机科学

应用程序接口

2018-07-27 10:41:31     所属分类:计算机编程

应用程序接口英语: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 typeByval 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(英文)

参见

  • 软件工程

显示全文

取消

感谢您的支持,我会继续努力的!

扫码支持
无需打赏可直接关闭阅读全文
1分,2分不嫌少,钱不钱的无所谓,重要的是你的话语激励我前行!

愿你每天温暖如春!!!


上一篇:内存泄漏
下一篇:旗标
相关推荐