boost.asio 学习笔记04——asio的体系结构
来源:互联网 发布:python 运维管理系统 编辑:程序博客网 时间:2024/05/16 10:30
http://blog.163.com/henan_lujun/blog/static/19538333201341453117804/
boost.asio 学习笔记04——asio的体系结构
三层类关系图
根据前面的分析,我们知道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进行扩展,需要点实力的 J
0 0
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记05——asio的windows实现
- boost.asio 学习笔记05——asio的windows实现
- boost.asio 学习笔记05——asio的windows实现
- Boost::asio 学习笔记
- boost.asio 学习笔记05 asio的windows实现
- boost.asio 学习笔记04 ,06
- Boost asio学习笔记—— 网络编程
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记02——io_service类
- boost.asio学习笔记03——io objects
- boost.asio 学习笔记06——其他
- boost.asio 学习笔记07——总结
- Boost asio学习笔记之二—— 网络编程
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记02——io_service类
- Android BlueDroid(二):BlueDroid蓝牙开启过程init
- pthread_kill 使用方法
- EMOS邮件系统问题及解决方法【更新中】
- ICMP:Windows DOS命令行指令"ping"的工作原理
- 修复mysql的数据表
- boost.asio 学习笔记04——asio的体系结构
- iOS开发中关于UIImage的知识点总结
- Android 图片切换特效 AndroidImageSlider
- C++语言处理异常 try catch throw
- UML类图实例关系
- vs2012 重新加载 崩溃问题
- Win2003下安装配置本地DNS服务
- EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
- hibernate总结