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
阅读全文
2 0
- C++ API设计—— API特征
- caffe c++API特征提取
- C++ API设计—— API简介
- c++API设计
- C++API设计
- C++API设计
- 《API Design for C++》读书笔记(二):API特征
- Objective-C 的 API 设计(API Design)
- Restful API ——设计最佳实践
- 如何设计好的RESTful API 之好的RESTful API 特征
- api设计
- API设计
- c api应用2-刷新设计
- 设计Qt风格的C++API
- 设计Qt风格的C++API
- 设计Qt风格的C++API【转】
- 设计Qt风格的C++API
- 设计Qt风格的C++API
- Android EventBus简单使用
- 实验测试admin_move_table的机制(1)
- 儿童编程微课堂-Scratch准备篇:一、Scratch简介
- oracle获取的执行计划区别及获取真实执行计划
- 列写三角函数表(C语言实现)
- C++ API设计—— API特征
- 利用PageTransformer实现viewpager的视差效果变换和反转特效
- maven+springMVC+mybatis+junit详细搭建过程
- yii2的场景处理
- condition await signal 和 notity wait
- 创建对象的四个注解
- synchronized锁对象
- [LeetCode] 102. Binary Tree Level Order Traversal
- Mybatis 事务管理器 TransactionManager