ACE技术内幕:深入解析ACE架构设计与实现原理

ACE技术内幕:深入解析ACE架构设计与实现原理

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

软件框架的设计始终代表着业界最高的设计水准,《设计模式》一书指出:如果说应用程序难以设计,那么工具箱就更难了,而框架则是最难的。

内容简介

本书从构架模式、编程示例和源代码3个维度系统地对经典网络框架ACE(Adaptive Communication Environment)的架构设计和实现原理进行了深入分析,它能解决4个方面的问题:第一,帮助框架设计者领略软件框架设计的普适原则和思想,进而设计出自己的软件框架;第二,帮助ACE应用开发人员加深对ACE框架的理解,提升开发水平,更好地去定制和扩展ACE框架,以及解决C++网络通信中的难题;第三,帮助C++开发人员加深C++语言功底,书中有大量对C++源代码的分析,包括网络编程、动态库编程和异步编程等,还涉及10余个经典的设计模式的解析;第四,增强平台开发人员和软件架构师的技术修养,ACE的设计和实现都极其优秀,它的实现源码和架构思想非常值得去学习和研究。

  

全书一共7章,详细分析了ACE的Reactor、Service Configurator、Task、Acceptor_Connector、Proactor和Streams等6个框架的架构设计与实现原理。每个框架的分析分为3部分:第一,框架的设计分析,每个框架(除Task框架)都有一个构架模式与之对应,构架模式阐述了框架的设计原理,给出了框架的总体结构,是学习框架的理论基础;第二,框架的应用分析,每个框架都有一个应用实例与之对应,应用实例既帮助读者了解框架的使用方法,又为读者提供了一个可以调试的应用程序,便于读者使用调试器探索框架的内部秘密;第三,框架的实现分析,这是本书的重点,对框架的实现原理进行了详细的分析,并且对重点的类和流程给出了UML类图和UML顺序图,可以让读者在短时间内掌握框架的实现技术。

作者简介

章节目录

版权信息

前言

为什么写作本书

读者对象

如何阅读本书

勘误和支持

致谢

第1章 概述

1.1 模式与框架

1.1.1 模式

1.1.2 框架

1.1.3 模式与框架的关系

1.2 ACE框架

1.3 关于本书

1.3.1 本书的内容

1.3.2 源代码的表示

1.3.3 测试组网

1.3.4 几个常用术语

1.4 ACE Socket封装器

1.4.1 示例分析

1.4.2 Socket IPC分析

1.4.3 ACE_SOCK_Acceptor类的分析

1.4.4 ACE_SOCK_Connector类的分析

1.5 进一步学习

1.6 总结

第2章 Reactor框架

2.1 Reactor构架模式

2.2 Reactor框架概述

2.3 Reactor框架应用示例

2.3.1 I/O事件处理器的实现

2.3.2 Accept事件处理器的实现

2.3.3 main函数

2.4 事件处理器接口实现

2.4.1 事件处理器接口的构造与析构

2.4.2 事件处理器接口的使用规范

2.5 Reactor管理器的设计分析

2.5.1 Reactor管理器接口分析

2.5.2 Bridge设计模式接口

2.5.3 ACE_Select_Reactor_Impl类的分析

2.5.4 ACE_Select_Reactor_T类的分析

2.6 I/O事件调度的分析

2.6.1 I/O事件调度集的设计

2.6.2 调度集操作函数的分析

2.6.3 I/O事件处理器仓库的分析

2.6.4 I/O事件注册流程的分析

2.6.5 I/O事件调度流程的分析

2.6.6 I/O事件删除流程的分析

2.7 信号量事件调度的分析

2.7.1 信号量事件管理器的分析

2.7.2 Reactor管理器中的信号量事件处理

2.7.3 信号量事件删除流程的分析

2.8 定时器事件调度的分析

2.8.1 定时器事件管理器的分析

2.8.2 定时器事件注册流程的分析

2.8.3 定时器事件调度流程的分析

2.8.4 定时器事件删除流程的分析

2.9 Notify事件调度的分析

2.9.1 Notify事件管理器的分析

2.9.2 Notify事件注册流程的分析

2.9.3 Notify事件调度流程的分析

2.10 进一步学习

2.11 总结

第3章 Service Configurator框架

3.1 Component Configurator构架模式

3.2 Configurator框架概述

3.3 Configurator框架应用示例1

3.3.1 配置文件

3.3.2 可配置组件

3.3.3 main函数

3.4 ACE动态库接口封装的分析

3.5 配置组件接口的分析

3.6 组件工厂函数的分析

3.7 组件配置器设计的分析

3.7.1 组件配置器控制接口的分析

3.7.2 组件配置器实现的分析

3.7.3 语法分析器的分析

3.8 动态库符号定位的分析

3.8.1 ACE_Location_Node类分析

3.8.2 ACE_Object_Node类的分析

3.8.3 ACE_Function_Node类的分析

3.9 配置组件仓库的分析

3.9.1 find函数

3.9.2 remove函数

3.9.3 suspend函数

3.9.4 resume函数

3.10 配置组件类型的分析

3.10.1 ACE_Service_Type类

3.10.2 ACE_Service_Type_Impl类

3.10.3 ACE_Service_Object_Type类

3.10.4 ACE_Service_Type_Factory类

3.11 指令解析功能的分析

3.12 配置文件解析流程的分析

3.13 Configurator框架应用示例2

3.13.1 可配置组件

3.13.2 配置文件

3.13.3 配置文件解析流程的分析

3.14 配置改变

3.15 Configurator框架应用示例3

3.15.1 静态配置组件

3.15.2 配置文件

3.15.3 静态配置组件分析

3.16 进一步学习

3.17 总结

第4章 Task框架

4.1 Task框架概述

4.2 Task框架应用示例

4.2.1 生产者

4.2.2 消费者

4.2.3 main函数

4.3 ACE消息队列实现分析

4.3.1 数据块结构分析

4.3.2 消息块结构的分析

4.3.3 消息队列实现的分析

4.4 ACE多线程编程

4.4.1 线程的创建

4.4.2 线程的运行

4.4.3 线程的退出

4.4.4 线程等待

4.5 Task框架接口的分析

4.5.1 ACE_Task_Base类

4.5.2 ACE_Task类

4.6 Active Object设计模式

4.6.1 模式概述

4.6.2 应用示例

4.6.3 ACE_Future和ACE_Future_Rep类

4.7 进一步学习

4.8 总结

第5章 Acceptor_Connector框架

5.1 Acceptor_Connector构架模式

5.2 Acceptor_Connector框架概述

5.3 Acceptor_Connector框架应用示例

5.3.1 open函数

5.3.2 handle_input函数

5.3.3 handle_close函数

5.3.4 main函数

5.4 服务处理器接口的分析

5.4.1 open函数

5.4.2 handle_close函数

5.4.3 close函数

5.4.4 shutdown函数

5.5 Acceptor设计的分析

5.5.1 ACE_Acceptor类

5.5.2 open函数

5.5.3 handle_input函数

5.5.4 handle_close函数

5.6 Connector设计的分析

5.6.1 ACE_Connector类

5.6.2 阻塞模式连接的分析

5.6.3 非阻塞模式连接的分析

5.7 进一步学习

5.8 总结

第6章 Proactor框架

6.1 Proactor构架模式

6.2 Proactor框架概述

6.3 Proactor框架应用示例

6.3.1 I/O事件完成处理器的实现

6.3.2 异步Acceptor的实现

6.3.3 main函数

6.4 事件完成处理器接口的分析

6.5 Proactor管理器的设计分析

6.5.1 Proactor管理器接口的分析

6.5.2 Bridge设计模式接口

6.5.3 ACE_POSIX_Proactor接口分析

6.6 异步操作初始化器和操作结果分析

6.6.1 公共接口介绍

6.6.2 ACE_POSIX_Asynch_Operation类

6.6.3 ACE_POSIX_Asynch_Result类

6.6.4 ACE_POSIX_Asynch_Read_Stream_Result类

6.6.5 ACE_POSIX_Asynch_Read_Stream类

6.7 ACE_POSIX_AIOCB_Proactor管理器实现的分析

6.7.1 构造函数

6.7.2 start_aio函数

6.7.3 handle_events_i函数

6.7.4 find_completed_aio函数

6.7.5 start_deferred_aio函数

6.7.6 application_specific_code函数

6.8 异步非I/O事件调度的分析

6.8.1 ACE_AIOCB_Notify_Pipe_Manager类

6.8.2 post_completion函数

6.8.3 putq_result函数

6.8.4 process_result_queue函数

6.9 定时器事件调度的分析

6.9.1 定时器事件操作结果的分析

6.9.2 定时器管理器实现的分析

6.10 网络连接之accept事件调度的分析

6.10.1 Reactor任务分析

6.10.2 异步Acceptor分析

6.10.3 ACE_POSIX_Asynch_Accept类

6.10.4 ACE_POSIX_Asynch_Accept_Result类

6.10.5 ACE_Asynch_Acceptor类

6.11 Proactor框架的调度分析

6.11.1 调度函数分析

6.11.2 退出调度分析

6.12 进一步学习

6.13 总结

第7章 Streams框架

7.1 管道和过滤器构架模式

7.2 Streams框架的概述

7.2.1 ACE_Task类

7.2.2 put函数

7.2.3 put_next函数

7.3 Streams框架应用示例

7.3.1 Logrec_Reader类

7.3.2 Logrec_Timer类

7.3.3 Logrec_Suffix类

7.3.4 Logrec_Writer类

7.3.5 main函数

7.4 ACE_Module类的分析

7.4.1 open函数

7.4.2 link函数

7.4.3 ACE_Module的关闭

7.5 ACE_Stream类的分析

7.5.1 构造函数

7.5.2 open函数

7.5.3 push函数

7.5.4 close函数

7.6 进一步学习

7.7 总结

参考文献

ACE技术内幕:深入解析ACE架构设计与实现原理是2012年由机械工业出版社华章分社出版,作者潘荣。

得书感谢您对《ACE技术内幕:深入解析ACE架构设计与实现原理》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
vBRAS原理、实现与部署 电子书
本书介绍了BRAS的技术背景和传统BRAS的基本原理,从而介绍vBRAS的基本原理和相关关键技术,包括SDN、NFV、云计算使能技术,软、硬件加速技术,以及主要的接口协议和开源控制器。探讨了vBRAS设备实现、主要应用场景以及vBRAS的组网技术和组网模式,最后列举了基于OpenBRAS开源社区的vBRAS开源情况。
Flink内核原理与实现 电子书
《Flink内核原理与实现》既讲解了Flink的入门、安装、流计算开发入门、类型和序列化系统、监控运维、安全管理配置等基础知识,又讲解了Flink的时间概念、Window的实现原理及其代码解析,Flink的容错机制原理,Flink容错的关键设计、代码实现分析,FlinkJob从源码到执行整个过程的解析,FlinkJob的调度策略、资源管理策略、内存管理、数据交换的关键设计和代码实现分析,Flink
区块链架构与实现:Cosmos详解 电子书
本书系统的阐述Cosmos的相关机制。
分布式缓存——原理、架构及Go语言实现 电子书
随着互联网的飞速发展,各行各业对互联网服务的要求也越来越高,互联网系统很多常见的存储类场景都面临着容量和稳定性风险。此时,本地缓存已无法满足需要,分布式缓存由于其高性能、高可用性等优点迅速被广大互联网公司接受并使用。。本书共分3个部分,每个部分都有3章。第1部分为基本功能的实现,主要介绍基于HTTP的inmemory缓存服务、HTTP/REST协议、TCP等。第2部分介绍性能相关的内容,我们将集中
操作系统原理与实现 电子书
操作系统是计算机系统的核心,是其他一切软件运行的基础。本书主要介绍操作系统的基本原理和实现方法。全书共12章,包括操作系统概论、进程管理、处理器管理、内存管理、I/O设备管理、磁盘和固态硬盘、文件系统、操作系统安全、分布式操作系统、虚拟机、鸿蒙操作系统、欧拉操作系统等内容。本书以鸿蒙和欧拉等具有代表性的国产操作系统为例,通过对操作系统知识的讲解,帮助学生系统掌握操作系统的基本概念、工作原理、主要功