ACE技术内幕

出版时间:2012-7-30  出版社:机械工业出版社华章公司  作者:潘荣  页数:333  
Tag标签:无  

前言

  为什么写作本书  软件框架的设计始终代表着业界最高的设计水准,《设计模式》一书指出:如果说应用程序难以设计,那么工具箱就更难了,而框架则是最难的。  尽管业界有一些大型的、常用的软件框架,如OMG的CORBA框架、SUN的EJB框架和微软的DCOM框架,但是很多一线的开发人员在日常的开发活动中并不和它们打交道,也很少接触其他软件框架。在这种情况下,我们如何来学习软件框架的设计思想,如何让这些思想来帮助我们设计和架构自己的软件框架呢?  ACE(Adaptive Communication Environment)是一个开源的、面向对象的网络框架,它实现了很多用于并发通信软件的核心模式,是一个非常好的软件框架学习平台。学习ACE所需要的特殊的专业知识非常少,读者只要熟悉C++和网络编程即可。有了本书可以让你的框架学习事半功倍。  虽然本书还无法和参考资料中大师们的著作相比,但是其对你学习软件框架的架构设计与实现原理同样会有非常大的帮助。侯捷大师说过这样一句话:“源码之前,了无秘密。”本书通过框架代码、框架使用示例、UML类图、UML顺序图详细分析了ACE的Reactor、Service Configurator、Task、Acceptor_Connector、Proactor和Streams等6个框架。这些图例不仅可以帮助你从源代码的角度学习框架的架构设计与实现原理,实现与软件框架的一次亲密接触,还可以真正减少你学习所需的时间和精力。  书中每一个框架的架构原理均来自《Pattern-Oriented Software Architecture—A System of Patterns》和《Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2》,想深入学习架构原理的读者可以在阅读时参考以上两本书。 

内容概要

  《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 io事件处理器的实现
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 io事件调度的分析
2.6.1 io事件调度集的设计
2.6.2 调度集操作函数的分析
2.6.3 i o事件处理器仓库的分析
2.6.4 io事件注册流程的分析
2.6.5 io事件调度流程的分析
2.6.6 io事件删除流程的分析
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 io事件完成处理器的实现
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 异步非io事件调度的分析
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 总结
参考文献

章节摘录

  第1章 概述  本章先介绍模式与框架的基本概念及它们之间的关系。然后介绍ACE框架的基本组成及本书的内容组织形式和约定。最后通过一个示例分析ACE的Socket封装器(Socket Wrapper Facade)。Socket编程技术是整个网络编程的基础,而ACE的Socket封装器则是ACE对Socket编程接口面向对象的封装,它为上层提供了统一的、面向对象的接口,这是我们学习ACE网络框架的基础。  1.1  模式与框架  1.1.1  模式  自Gof(《设计模式》一书的作者四人组)对设计模式进行归纳、整理和分类,并出版了《设计模式》一书后,设计模式在软件开发的各个领域都大放光彩。在此基础上,各路“英雄豪杰”又对设计模式进行了更深入的研究,一时间“百花齐放、百家争鸣”。软件的分析与设计在面向过程、面向对象的方法的基础之上又发展出了面向模式的分析与设计方法。更有专家预言未来的软件开发是面向组件、面向框架的。面向组件、面向框架的软件开发可以带来更高的稳定性与更好的重用性。  在《设计模式》一书中,作者引用了模式的经典定义:每一个模式都描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心,这样就能一次又一次地使用该方案而不必做重复努力。  ……

编辑推荐

  《ACE技术内幕:深入解析ACE架构设计与实现原理》从构架模式、编程示例和源代码三个维度系统深入解读ACE的架构设计和实现原理,帮助提升ACE开发人员的水平,及其对ACE定制和扩展的能力。 

图书封面

图书标签Tags

评论、评分、阅读与下载


    ACE技术内幕 PDF格式下载


用户评论 (总计34条)

 
 

  •   一直寻找解析ACE的资料,终于看到了一本书,不错。
  •   书不错,但是例子跟ACE源码是一样的
  •   ACE那本不贴近读者
  •   众所周知ACE的代码太庞大了,直接去读代码有点太痛苦,很感谢作者写了这本书,让学习ACE更加轻松
  •   学习ACE的好书籍。
  •   纸质不错,送书速度不错,第二天就送到了;还有,因为我这边没有楼梯,我的书也很多;送书的,还帮我把书送到5楼。特别感谢!谢谢当当,我的好朋友!
  •   内容挺深的,适合C++熟练的程序员或设计师看
  •   在当当买东西无数次了,每次都很满意,好开心!
  •   物流很给力!书的质量不错!
  •   一般般!有點價值
  •   别人买的。公司报销
  •   不错。6.0的版本
  •   书写得应该不错. 但不适合我.
    如果研究ACE的原理, 并且研究架构设计, 那么这本书很适合.
    如果是想快速掌握ACE的开发, 那么这本书不合适.
    我买这本书是想快速掌握ACE的开发, 但这本书并没有达到我的预期. 或者C++网络编程会更适合我.
  •   ACE的国内原创书籍不多,这本书基本上中规中矩,值得一读。
  •   写ACE方面的毕竟比较少。
  •   不是简单的使用手册,而是分析了其中的架构
  •   本书整体还不错,就模块的关联度和配合关系阐述还需更清楚点
  •   书还不错,只不过里面有一些错别字。
  •   看代码的时候,结合书看看
  •   这本书写的挺好的。
  •   梳理一遍
  •   太忙了,还没看多少,书的质量不错的。
  •   讲解的深度还是不大够
  •   没ACE实战经验的可以看看,不急的话可以等电子版;里面例子基本和ACE自带的没什么区别,对实际工作中没多大用处,感觉作者就是个理论学者;不过也不用抱怨,国人的书就这水平了!
  •   学习ACE难得的好书
  •   C++框架、架构学习好书
  •   内容和质量都满意,学习中。
  •   学习ace肯定要看的,写得不错
  •   ACE值得一看
  •   好书,内容不错,质量也不错
  •   学习C++的模式
  •   质量挺好的啊:)
  •   学习C++和框架编程的好书
  •     国内技术书里面还算不错的,里面的关键架构分析还是花了作者心思的,之前因为工作的关系研读过源代码,这本书里面对ACE的关键技术架构分析还是比较用心的,建议学习使用ACE的人参考
      附推荐书籍(按照学习顺序):
      c++ network programming vol 1
      c++ network programming vol 2
      ACE programmer's guide
      ACE技术文章+本书
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7