API

来源:互联网 发布:数据离差标准化 编辑:程序博客网 时间:2024/06/16 18:34

API

API提供了对某个问题的抽象,以及客户与解决该问题的软件组件之间进行交互的方式。

API是一个明确定义的接口,可以为其他软件提供特定服务。
现代应用程序通常都是基于很多API建立起来的,而这些API往往又依赖于其他API。
目的是为某个组件的功能提供一个逻辑接口,同时隐藏该模块内部的实现细节。

API设计中的一些关键因素

  1. API是为开发者设计的接口,如同GUI是为用户设计的接口一样。
  2. 多个应用程序可以共享一个API。
  3. 修改API时,必须竟可能保证向后兼容。

API的生成周期一般比较长。为了创造良好的API,在前期要投入巨大的成本,因为规划、设计、版本和审查开销是必不可少的。

API描述了其他工程师构建他们的应用软件所使用的软件。因此,API必须拥有良好的设计、文档、回归测试,并且保证发布之间的稳定性。

为什么使用API

  1. 更健壮的代码
    • 隐藏实现
    • 延长寿命
    • 促进模块化
    • 减少代码重复
    • 消除硬编码假设
    • 易于改变实现
    • 易于优化
  2. 代码复用
    代码复用就是使用已有的软件去构建新的软件。软件开发从本质上已变得更加模块化。
  3. 并行开发
    假设你正在编写一个字符串加密算法,其他开发者需要使用该算法将数据写入配置文件。一种做法是让其他开发者等你完成所有工作,然后在其文件输出模块中使用你的算法。然而,更有效率的做法是,你们提前见面协商好恰当的API,然后你把API放在适当的位置,而API仅仅其占位符的作用。
    实际上,有些接口问题很可能在编写代码之前并没有预料到,因此API设计可能需要多次迭代才能保证其恰到好处。

何时应当避免使用API

如果编写的是不需要和其他客户端通信的内部模块,那么为模块创建并维护稳定公有接口的额外开销就不值得了。
假设你是一位想在应用程序中使用第三方API的软件开发人员,在如下情况下避免使用特定的API:
- 许可证限制
- 功能不匹配
- 缺少源代码
- 缺乏文档

0 0
原创粉丝点击