《API Design for C++》读书笔记(一):API 简介

目录


好久没有认真的看一本书了,更别说看完一整本书。最近发现一般关于API设计的一本书《API Design for C++》还不错,应该是一本很有机会让我读完的书籍。

虽然里面主要是以C++为蓝本来讲解API的设计,但其中关于API设计的一些最佳实践和设计是想都是值得借鉴的,不管是使用C++还是c,又或者是其他语言进行编程,通过阅读这本书都会有或多或少的收获的。
第一次觉得写点读书笔记,也不太清楚要如何写,反正就凭着感觉走,先记录着,以后说不定还能用得上。

1、 什么是API

API(Application Programming Interface)提供了对某个问题的抽象,以及客户与解决该问题的软 件组件之间进行交互的方式。组件本身通常以软件类库形式发布,他们可以在多个引用程序当中使用。概括的说,API定义了一些可复用的模块,使得各个模块化功能块可以嵌入到最终用户的应用程序当中去。

另外有不少工程师更喜欢将API看成是Abstract Programming Interface (抽象编程接口)的缩写。

2、 API设计上有什么不同

接口是开发者所编写的最重要的代码。因为比起相关实现代码出现问题,修复接口出现的问题代价要大得多。

下面列举了API开发中的一些关键因素:

  • API是为开发者设计的接口
  • 多个应用程序可以共享一个API
  • 修改API时,应该尽可能保证向后兼容
  • 出于向后兼容的需求,一定要具有变更控制流程
  • API的生存周期一般都较长
  • 在编写API时,良好的文档必不可少
  • 自动化测试同样也很重要

3、 为什么使用API

在软件项目中为什么要关注API,这一问题可以从两个方面理解:(1)为什么要设计并编写API?(2)为什么要在应用中使用其他人提供的API? 一下将会指出在项目中使用API的各种好处:
- 更健壮的代码
- 隐藏实现
- 延长寿命
- 促进模块化
- 减少代码重复
- 消除硬编码假设
- 易于改变实现
- 易于优化
- 代码复用
- 并行开发

4、 何时应当避免使用API

设计并实现API相比编写普通的应用程序代码通常要花费更多的经历,因为API在质量,设计,文档编写,测试,支持及维护方面有更高的要求。所以并不是所有情况都适合使用API。下面将列出在哪些情况下应该避免使用API:

  • 许可证限制
  • 功能不匹配
  • 缺少源代码
  • 缺乏文档
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值