《C++网络编程(卷2):基于ACE和框架的系统化复用》
内容简介:
《C++网络编程》系列正是帮助我们进入一个更好的网络化应用开发世界的台阶。在卷1中,两位作者,Douglas C. Schmidt与Stephen D.Huston,从对编写并发网络化应用所涉及的问题和工具进行综述开始,向我们介绍了开发灵活而高效的并发网络化应用所需的各种设计维度、模式和原则。通过对卷1的学习,你将能够了解怎样在将C++和模式有效地应用于开发面向对象网络化应用的同时,增强自己的设计技能。而在卷2中,两位作者将向我们描述ACE框架的设计原理,以及它们可以怎样帮助开发者在较低级的本地操作系统API和较高级的分布式对象计算中间件的局限之间“航行”;前者既不灵活也不可移植,而后者对有着苛刻的QoS和可移植性需求的网络化应用来说,常常缺乏效率和灵活性。传统上,生成和使用网络化应用框架所需的技能被锁在专家开发者的头脑中,或是深深地埋藏在散布于企业或是行业各处的众多项目的源代码中。这两种情况当然都不理想,因为要为每个新的应用或项目重新获取这些知识,既费时又易出错。为解决这一问题,卷2阐释了在ACE框架的结构和功能之下的各种关键模式;这同时也将会帮助我们理解ACE自身的设计、实现,以及有效使用。
本书由ACE社区的两位专家撰写,内容包括:
◎ACE各个框架综述
◎网络服务的设计空间
◎对重要的ACE框架提供其关键能力的描述
◎大量C++代码示例,演示如何使用ACE框架
本书将教会开发者如何使用框架快速编写网络应用,同时降低开发难度和工作量。对于任何从事网络应用开发的C++程序员,本书都是无法估量的财富
目录:
第1章用于网络编程的面向对象的框架
1.1 面向对象的框架综述
1.2 软件开发与复用技术的比较
1.2.1 框架与类库之间的比较
1.2.2 框架与组件之间的比较
1.2.3 框架与模式之间的比较
1.2.4 框架与模型集成式计算之间的比较
1.3 在网络编程中应用框架
1.4 漫游ACE框架
1.4.1 ACE综述
1.4.2 ACE框架概要
1.5 示例:网络日志服务
1.6 小结
第2章服务以及配置的设计空间
2.1 服务以及服务器设计空间
2.1.1 短持续时间服务与长持续时间服务
2.1.2 内部服务与外部服务
2.1.3 有状态服务与无状态服务
2.1.4 分层式/模块化服务与整体式服务
2.1.5 单服务服务器与多服务服务器
2.1.6 一次性服务器与持续式服务器
2.2 设计空间的配置
2.2.1 静态命名与动态命名
2.2.2 静态链接与动态链接
2.2.3 静态配置与动态配置
2.3 小结
第3章ACE Reactor框架
3.1 综述
3.2 ACE_Time_Value类
3.3 ACE_Event_Handler类
3.4 ACE定时器队列类
3.5 ACE_Reactor类
3.6 小结
第4章ACE Reactor实现
4.1 综述
4.2 ACE_Select_Reactor类
4.3 ACE_TP_Reactor类
4.4 ACE_WFMO_Reactor类
4.5 小结
第5章ACE Service Configurator框架
5.1 综述
5.2 ACE_Service_Object类
5.3 ACE_Service_Repository类
5.4 ACE_Service_Config类
5.5 小结
第6章ACE Task框架
6.1 综述
6.2 ACE_Message_Queue类
6.3 ACE_Task类
6.4 小结
第7章ACE Acceptor-Connector框架
7.1 综述
7.2 ACE_Svc_Handler类
7.3 ACE_Acceptor类
7.4 ACE_Connector类
7.5 小结
第8章ACE Proactor框架
8.1 综述
8.2 异步I/O工厂类
8.3 ACE_Handler类
8.4 前摄式Acceptor-Connector类
8.5 ACE_Proactor类
8.6 小结
第9章ACE Streams框架
9.1 综述
9.2 ACE_Module类
9.3 ACE_Stream类
9.4 小结
术语表
参考文献