“框架”这个词所有的开发都听过,但是有多少人能理解框架的作用?为什么要花那么大精力去弄一个框架?大家应该都听过各个大厂稍微大点的项目都会有一个“框架组”/“架构组”等。 费这么大人力组建一个组来 做框架/架构 到底值不值呢?这个问题比较难回答,关键得看这个组是不是为了业务服务,是不是围绕几个点去做事 1) 提高业务开发效率 2)让业务同学在一定的规则下写出可维护的代码 3)减少犯错误的机会
而架构组往往也负责 整个项目“基础库”的建设,基础库设计,接口的封装会直接影响到 业务开发同学的开发效率,后面会一步一步介绍如何使用boost 来建立自己的基础库
为什么选择 boost 库
boost 库的优缺点都非常的明显,
优点
- 功能强大,包含了能想到的各种功能,比如异步io,协程,线程,内存,文件,容器等等
- C++标准库预备库,开源社区专人维护
- CMake 支持,可以非常方便的集成到CMake 项目中
- head only 设计,使用起来也没有成本
- 源代码可以随意使用,不需要开源自己的项目代码
缺点
- 代码庞大, 这也是很多人为什么不选择boost库的最重要的一个原因
- 几乎都是模板代码,晦涩难懂,而且很难调试
- 学习成本比较高,需要再进行一次封装才能更方便使用
当然并没有理由说一定要选择boost库, 只是这里面有很多轮子,可以直接封装自己的轮子。