《C++ API设计》读书笔记

声明:本博客仅为学习中的笔记,如有错误,欢迎指正!

1.1 什么是API

API:Application Programming Interface 应用程序接口。提供了对某个问题的抽象,以及客户与解决该问题的软件组件之间进行交互的方式。组件本身通常以软件类库分发,它们可以在多个应用程序中使用。在这里插入图片描述
API 的目的是为某个组件的功能提供一个逻辑接口,同时隐藏该模块内部的实现细节。
一个例子:用来读取GIF图片的API可能仅仅提供一个 LoadImage() 方法,后者接收一个文件名作为参数,并返回一个2维的像素数组。所有文件格式和数据压缩的细节全部隐藏在这个接口之下。

API : 另一种解释:Abstract Programming Interface. 抽象编程接口

1.2 C++ API通常会包含如下元素:

  1. 头文件。一组.h头文件。头文件定义了接口,使得客户端代码能够针对该接口进行编译。开源API还包括API实现的源代码(.cpp文件)。
  2. 类库。一个或多个静态库(Windows下的.lib文件,Linux下的.a文件)或动态库(Windows下的.dll文件,Linux下的.so文件)。客户端可以把它们的代码和这些库文件进行链接,从而未它们的应用程序添加相应的功能。
  3. 文档。如何使用API的概述信息,通常包含为API中所有的类和函数自动生成的文档。

1.3 API开发中的一些关键因素

  1. API是为开发者设计的接口。
  2. 多个应用程序可以共享同一个API。
  3. 修改API时,必须尽可能保证向后兼容。
  4. 出于向后兼容的需求,一定要具有变更控制流程。
  5. API的生存周期一般都比较长。
  6. 在编写API时,良好的文档必不可少,特别是当不提供实现的源代码时。
  7. 自动化测试同样也很重要。

1.4 文件格式和网络协议

每当创建一个文件格式或者客户端/服务端协议时,同时也要为其创建API。这样,规范的细节以及未来的任何变更都将是集中且隐蔽的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值