《API Design for C++》读书笔记(一):API 简介
2016-02-01 16:36
399 查看
目录
目录1 什么是API
2 API设计上有什么不同
3 为什么使用API
4 何时应当避免使用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:许可证限制
功能不匹配
缺少源代码
缺乏文档
相关文章推荐
- C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
- 逐梦C++之三:文件输入与输出
- Windows编程C++之句柄
- Protocol Buffer技术详解(C++实例)
- 使用eclipse for c++的一个报错问题
- C/C++ sort函数的用法
- 平衡二叉树(AVL树)的创建,查找
- 生活中的数学问题(二)
- c++特性:static_assert
- VC++6.0注释快捷键的添加使用
- 对于c语言窗口怎么换不同颜色问题详解 用SetConsoleTextAttribute
- 【笔试常考】C语言:深度剖析strlen,sizeof
- c语言---数据和程序
- 使用C与C++混合编程封装UDP协议
- Windows编程数据类型概述 C++
- leetcode刷题系列C++-Search in Rotated Sorted Array II
- 生活中的数学问题(一)
- 逐梦C++补遗篇之二:如何在DOS窗口下运行程序
- Boost 学习之算法篇 mismatch
- 逐梦C++补遗篇之一:cout与cerr的区分