C++ API设计—— API特征

来源:互联网 发布:仓库管理源码php 编辑:程序博客网 时间:2024/06/05 09:05

APT特征:优质的API应该设计精巧且实用性强,它不仅能带来愉悦的使用体验,且能与各种应用程序完美融合,甚至让使用者感觉不到其存在。

问题域建模:

对问题域进行很好的抽象。

这里写图片描述

这里写图片描述

这里写图片描述

隐藏实现细节:

1)物理隐藏(声明与定义):将内部细节(.cpp)与公有接口(.h)分离,存储在不同的文件中。

2)逻辑隐藏(封装):将API的公有接口与其底层实现分离的过程。


这里写图片描述

最小完备性:若无必要,勿增实体

1)不要过度承诺

精简API中公有的类和函数

2)谨慎添加虚函数

避免将函数声明为可以重写的函数(虚的),除非你有合理且迫切的需求。

3)便捷API

基于最小化的核心API,以独立的模块或库的形式构建便捷API

易用性:

1)可发现性:通过API自身明白如何使用它们

2)不易误用:使用枚举类型替代布尔类型,提高代码的可读性

3)一致性:使用一致的函数命名和参数顺序

4)正交:减少冗余,增加独立,函数没有副作用

5)健壮的资源分配:智能指针

6)平台独立:不要将平台相关的#if或#ifdef语句放在公共的API中,因为这些语句暴露了实现细节,并使API因平台而异

松耦合:


这里写图片描述

稳定的、文档详细的,且经过测试的API:


API设计,祝愿你把代码写成艺术。

6/30/2017 3:05:17 PM

原创粉丝点击