基本信息
- 作者: 潘荣
- 出版社:机械工业出版社
- ISBN:9787111388241
- 上架时间:2013-3-12
- 出版日期:2012 年7月
- 开本:16开
- 页码:333
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 面向对象

内容简介
计算机书籍
《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 模式 / 1
1.1.2 框架 / 2
1.1.3 模式与框架的关系 / 3
1.2 ACE框架 / 3
1.3 关于本书 / 7
1.3.1 本书的内容 / 7
1.3.2 源代码的表示 / 8
1.3.3 测试组网 / 9
1.3.4 几个常用术语 / 9
1.4 ACE Socket封装器 / 9
1.4.1 示例分析 / 10
1.4.2 Socket IPC分析 / 13
1.4.3 ACE_SOCK_Acceptor类的分析 / 15
1.4.4 ACE_SOCK_Connector类的分析 / 19
1.5 进一步学习 / 23
1.6 总结 / 23
前言
软件框架的设计始终代表着业界最高的设计水准,《设计模式》一书指出:如果说应用程序难以设计,那么工具箱就更难了,而框架则是最难的。
尽管业界有一些大型的、常用的软件框架,如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》,想深入学习架构原理的读者可以在阅读时参考以上两本书。
读者对象
本书主要适合以下读者:
q 希望深入理解软件框架设计和实现的读者。本书从构架模式和源代码两个方面,分析了ACE的6个框架的设计和实现原理。这些内容非常适合这部分读者学习和掌握软件框架的设计思想,进而设计和实现自己的软件框架。
q ACE应用开发人员。对这部分读者来说,本书的内容有助于加深对ACE网络框架的理解,提高自己的开发水平。本书可以作为他们定制和扩展ACE网络框架的宝贵参考资料。
q C/C++编程人员。书中有大量对C++源代码的分析,包括网络编程、动态库编程和异步编程,还涉及十多个Gof经典设计模式,是C/C++编程人员非常好的进阶书籍。
q 平台开发人员和架构师。ACE的设计和实现都极其优秀,它的实现源码和架构思想非常值得这类读者去学习和研究。
如何阅读本书
学习本书应当具备的基础知识如下(ACE是一个跨平台的网络框架,这里不区分Windows、Linux、UNIX等各种不同平台)。
q 熟悉Socket编程,至少了解一种平台的常用的Socket API。
q 熟悉多线程编程,至少了解一种平台常用的多线程编程接口。
q 可选知识有:了解一种平台的动态库知识(用于Service Configurator框架)和异步编程知识(用于Proactor框架)。如果需要这些知识也可以在学习本书的过程中查阅相关资料。
本书共分7章,其中第1章介绍了ACE的Socket封装器,其余6章详细分析了ACE的Reactor、Service Configurator、Task、Acceptor_Connector、Proactor和Streams共6个框架。每个框架的分析又分为3部分:
第一部分是框架的设计分析。每一个框架(除Task框架)都有一个构架模式与之对应,构架模式阐述了框架的设计原理,给出了框架的总体结构,是学习框架的理论基础。
第二部分是框架的应用分析。每个框架都有一个应用实例与之对应,应用实例既帮助读者了解框架的实际使用方法,又为读者提供了一个可以调试的应用程序,便于读者使用调试器探索框架的内部秘密。