API
来源:互联网 发布:数据离差标准化 编辑:程序博客网 时间:2024/06/16 18:34
API
API提供了对某个问题的抽象,以及客户与解决该问题的软件组件之间进行交互的方式。
API是一个明确定义的接口,可以为其他软件提供特定服务。
现代应用程序通常都是基于很多API建立起来的,而这些API往往又依赖于其他API。
目的是为某个组件的功能提供一个逻辑接口,同时隐藏该模块内部的实现细节。
API设计中的一些关键因素
- API是为开发者设计的接口,如同GUI是为用户设计的接口一样。
- 多个应用程序可以共享一个API。
- 修改API时,必须竟可能保证向后兼容。
API的生成周期一般比较长。为了创造良好的API,在前期要投入巨大的成本,因为规划、设计、版本和审查开销是必不可少的。
API描述了其他工程师构建他们的应用软件所使用的软件。因此,API必须拥有良好的设计、文档、回归测试,并且保证发布之间的稳定性。
为什么使用API
- 更健壮的代码
- 隐藏实现
- 延长寿命
- 促进模块化
- 减少代码重复
- 消除硬编码假设
- 易于改变实现
- 易于优化
- 代码复用
代码复用就是使用已有的软件去构建新的软件。软件开发从本质上已变得更加模块化。 - 并行开发
假设你正在编写一个字符串加密算法,其他开发者需要使用该算法将数据写入配置文件。一种做法是让其他开发者等你完成所有工作,然后在其文件输出模块中使用你的算法。然而,更有效率的做法是,你们提前见面协商好恰当的API,然后你把API放在适当的位置,而API仅仅其占位符的作用。
实际上,有些接口问题很可能在编写代码之前并没有预料到,因此API设计可能需要多次迭代才能保证其恰到好处。
何时应当避免使用API
如果编写的是不需要和其他客户端通信的内部模块,那么为模块创建并维护稳定公有接口的额外开销就不值得了。
假设你是一位想在应用程序中使用第三方API的软件开发人员,在如下情况下避免使用特定的API:
- 许可证限制
- 功能不匹配
- 缺少源代码
- 缺乏文档
0 0
- API
- api
- API
- API
- api
- API
- API
- API
- API
- API
- API
- API
- API
- API
- api
- api
- API
- API
- 卡尔曼滤波
- 石子合并问题
- android 数据存储技术(1/4)androidSQLite数据库存储
- 粒子滤波
- c3p0配置
- API
- Freemarker网站静态化的实现
- Android的TextView中显示图片和图像的方法
- Android欢迎页面动画
- Java:对象的强、软、弱和虚引用
- 第33课作业第一题
- android开发之图表绘制
- Sdoi2008仪仗队题解
- configure: error: APR not found . Please read the documentation