boost.asio 学习笔记04——asio的体系结构
2013-05-23 14:04
239 查看
三层类关系图
根据前面的分析,我们知道asio有着这样的逻辑:参考STL,提供basic模版,对外使用basic模版的实例提供接口。
basic模版将具体操作委托给下层服务类完成。
下层服务类再把操作委托给平台相关的服务类。
鉴于此,我们将asio体系划分为三层:io
object层,basic_模版类层,服务层。
第一层:io object层,作为应用程序直接使用的对象,是各种basic_模版类的typedef实例类。
第二层:basic_模版类层,提供对外操作的接口,并把具体操作转发给服务类。
第三层:服务层。提供具体操作的底层实现,这一层又分为两层:
操作接收层
平台适配层
基本的体系结构关系如下图所示。注意:图中并非全部asio中的类。
动态组装
前面已经提过,resolver和STL中的string一样,都是使用了basic_模板类的一个具体实例。这种在编译时动态地选择对应的组件进行编译,我们姑且称为动态组装。这种技术使得我们可以对asio的service进行扩展。例如自己实现一个resolver的service类,然后告诉basic_resolver,你要使用自己的service类,而非默认的那个……不过话说回来,自己对boost或者STL进行扩展,需要点实力的:)
相关文章推荐
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04 ,06
- boost.asio学习笔记03——io objects
- boost.asio 学习笔记05——asio的windows实现
- boost asio io_service学习笔记
- boost.asio 学习笔记05——asio的windows实现
- boost.asio 学习笔记02——io_service类
- boost asio学习笔记 [1] - 同步通讯
- boost.asio 学习笔记06——其他
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记07——总结
- boost.asio 学习笔记02——io_service类
- boost.asio 学习笔记02——io_service类
- boost asio io_service学习笔记
- boost asio io_service学习笔记
- boost_asio学习笔记[2] - 客户端异步通讯
- boost.asio学习笔记03——io objects
- boost.asio 学习笔记06——其他
- boost.asio学习笔记一、linux下boost库的安装