书籍详情
面向模式的软件体系结构卷2:用于并发和网络化对象的模式
作者:施密特;张志祥译
出版社:机械工业出版社
出版时间:2003-08-01
ISBN:9787111116868
定价:¥59.00
购买这本书可以去
内容简介
对于软件开发人员来说,设计运行并发和网络化环境中的应用程序和中间件是很大的挑战。本书中 所列出的模式构成了处理有关并发和网络化问题的模式语言的基础。书中提出了17种相互关联的模式,它们包含用于构建并发和网络化系统的核心组件:服 务访问和配置、事件处理、同步和并发。在多种程序设计语言(如C++、Java和C)中,这些 模式有大量的例子和已知应用。本书可用于解决特定的软件开发问题,读者也可以从头至尾地阅读,学习构建并发和网络化应用以及中间件的最佳方法。欢迎访问本书网页: http://www.cs.wustl.edu/~schmidt/POSA 本书讲述用于创建并发和网络化系统的模式,共涉及17种模式与惯用法。这些模式构成了用于解决有关分布式、并发和网络化问题的模式语言的基础。本书的模式是创建并发和网络化系统的核心元素,包括服务访问、事件处理、并发控制、连接管理和初始化、事务、安全性等。 本书强调实际的解决方案,读者可以使用本书的方法解决特定的软件开发问题,获得对构造分布式及并发应用和中间件最佳实践的基本理解。书中含有用多种语言(C、C++和Java)编写的大量例子和已知使用,适于专业软件开发人员及计算机专业高校师生使用。
作者简介
张志祥,男,1967年10月生,湖北天门市人。现任海军工程大学副教授。1988年和1991年在海军工程大学计算机系是获工学学士、工博学们。1991年3月至今在海军工程大学计算机系任教。2000年9月起在中科技大学计算机学院攻读博士学位。主要研究方向:语义Web,程序设计方法。先后参与多项军内科研项目的研制,多项成果获军队科技进步奖。在《计算机研究与发展》等刊物发表论文多篇。译著包括《净室软件工程-技术与过程》《Oracle 9i宝典》等。任雄伟,男,1970年1月生,湖北省武汉市人,现任海军工程大学讲师,1992年在解放军通信工程学院无线工程专业获工学学士学位,1997年在海军电子工程学院通信与电子系统专业获工学硕士学位。1998年3月至今在海军工程大学计算机系任教。2000年9月起在华中科技大学电信系攻读博士学位。主要研究方向:多媒体通信,计算机网络。先后参与“编队电子战训练模拟器”和舰载电子战作战效能评估“等项目的研制在《电视技术》、《计算机应用》等刊物发表论文多篇。 贲可荣,男,1963年8月生,江苏省海安县人,现任海军工程大学教授。1983年在苏州大学系获理学学士学位,1986年在南京大学数学系获理学硕士学位。1986年8月至1990年3月在海军工程大学计算机系任教。1994年6月在国际科技大学获工学博士学位,博士期间,由国寻科技大学计算机学院陈火旺院士指导,主修计算机软件,1994年12月任海军工程大学计算机系副教授。1995年起担任计算机应用技术专业硕士生导师,海军工程大学学位评定委员会委员,经教育部批准,2000年3月至2001年3月任武汉大学软件工程国家重点实验室访问学者,2000年被教育部确定为海军首批十名骨干教师之一。2000年12月晋升为教授,主要译著有:《净室软件工程-技术与过程》《能力成熟度模型(CMM):软件过程改进指南》《基于项目的软件工程—面向对象研究方法》《面向模式的软件体系结构卷1:模式系统》审校《实用软件测试指南》,参加《计算机科学技术百科全忆》的编写,先后承担国家自然科学基金项目。国家863项目和军队科研等五个项目,在“中国科学”、“软件学报”、“计算机科学”等刊物和会议发表论文50余篇,成果获军队科技进步奖。主要研究方向:软件可靠性、软件质量保证技术、形式化方法等。兼任中国计算机学会计算机理论专业委员会委员。中国造船工程学会电子技术学术委员会委员,《海军工程大学学报》、《舰船电子工程》等刊物编委。Douglas C.Schmidt,博士是加利福尼亚大学欧文分校电子与计算机工程系的副教授,他还是国家高级研究计划局信息技术办公室的项目经理,在美国的中间件研究中处于领先地位。在此之前,他是密苏里州华盛顿大学圣易斯分校计算机科学系的分布式对象计算中心的副教授和主任,他的研究方向集中在模式和模式语言,最优化原理以及面向对象技术的经验分析技术,后者用于开发能运行于高速网络和嵌入式互联系统中的高性能和实时分布式对象计算中间件。Douglas,是一位在分布对象计算模式,中间件框架,实时CORBA和开放源码开发方面的国际知名的专家,他在顶级技术杂志、会议上发表了许多文章,出版了多本专著。他曾担任《C++报告》杂志的主编多年,与人合著了几本在模式领导了ACE和TAO的开发,二者是广泛使用的开放源码的中间件框架,其中包含了很多可重用组件,这些组件是用本书中介绍的模式实现的。在“闲暇”时间,他喜欢和妻子Sonja跳交谊舞,他还喜欢举重、弹吉他,读世界历史,开雪弗莱车。Michael Stal,于1991年加入德国慕尼黑的西门子的总公司技术部。早期他在开发编译器软件和计算机图形软件方面积累了丰富的经验,他研究C++运行时类型信息,并曾经服务于C++标准化组X3J16。从1992年开始,Michael工作集中在使用公司与OMG在CORBA方面的主要联系人,也是西门子总公司技术部的分布式对象计算组的负责人,他是POSA第1卷《模式系统》的作者之一。Michael的主要兴趣是研究用于有效地开发分布式系统的方法和用于描述中间件平台体系结构的模式,他在许多杂志上发表了多篇这些方面的文章,并多次在会议上做报告,另外,他还是《Java Spektrum》的总编以及《Objektspektrum》的专栏作家和顾问委员会成员,前者是德国在Java平台方面的主要杂志,而后者是德国在对象技术方面的主要杂志。在业余时间,Michael参加足球比赛,支持他喜爱的拜仁慕尼黑足球队,去慕尼黑周围的啤酒园观光,看管小猫别在家搞破坏,看电影,读物理,哲学和幽默方面的书,他是Douglas Adams. Scott Adams以及Terry Prachett的影迷。Hans Rohnert,博士,是德国慕尼黑的西门子通信设备事务部的高级工程工程师。他的主要研究文献是寻找有前途的软件技术并引入到新产品中。他的专业兴趣是软件体系结构、设计模式、现实世界程序设计等。他在动态图形算法、嵌入式Java虚拟机等方面做过无数次讲演。目前Hans是一个专家组成员,该专家组的目标是定义用于小型设备的小型化KVMJava虚拟机以及类库,他从事的项目包括用于嵌入式服务器的服务端模块、C++中的工作流、对ATM交换的基本支持、CORBA客房Java GUI前端以衣主编之一。还是一名研究生的时候,他研究过组合算法。在职业生涯的早年,他在这个方面出版了一些著作、发表过一些讲演。Hans是一个雄心勃勃的网球运动员,但输多赢少。他也喜欢爬附近的山,攀岩,去邻国滑雪。不过他最大的“爱好”是家庭,特别是在本书写作的最后冲刺阶段,家中诞生了一个婴儿。Frank Buschmann,是德国慕尼黑西门子公司总部技术部门的高级工程师。他的研究兴趣包括对象技术、软件体系结构、框架和模式。他在这些领域发表了很多文章,这些文章可以在他与人合著的POSA第1卷中找到。Frank于1992~1996年期间是ANSI C++标准化委员会X3J16的成员。Frank发起并组织了在欧洲举办的第一次关于模式的会议——EuroOLop 1996,他也是PLoPD丛书第三卷的主编之一。Frank参与了一些大规模工业软件项目的设计与实现,这些项目包括商务信息、工业自动化以及电信系统。工作之余,Frank的大部分时间和妻子Martina一起享受生活,在慕尼黑的啤酒园消磨时光、玩自行车物技、滑雪、骑马,爱看支持的多特蒙德足球队比赛,一听歌剧就犯困,临睡前品苏格兰麦芽酒放松自己。
目录
译者序
译者简介
前言
内容简介
作者简介
读者指南
第1章 并发和网络化对象
1.1 动机
1.2 并发和网络化软件的难题
1.2.1 难题1:服务访问和配置
1.2.2 难题2:事件处理
1.2.3 难题3:并发
1.2.4 难题4:同步
1.2.5 网络化软件的其他难题
1.3 案例分析:设计一个并发的Web服务器
1.3.1 JAWS框架概述
1.3.2 在JAWS中应用模式解决JAWS中常见的设计难题
1.3.3 封装低层操作系统API
1.3.4 从协议处理中分离事件多路分解和连接管理
1.3.5 通过多线程提高服务器性能
1.3.6 实现一个同步化的请求队列
1.3.7 最小化服务器线程的开销
1.3.8 有效地利用异步I/O
1.3.9 增强服务器的可配置性
1.3.10 用于实现JAWS的其他模式
1.4小结
第2章 服务访问和配置模式
2.1 包装器外观
2.2 组件配置器
2.3 截取器
2.4 扩展接口
第3章 事件处理模式
3.1 反应器
3.2 主动器
3.3 异步完成标记
3.4 接受器—连接器
第4章 同步模式
4.1 定界加锁
4.2 策略化加锁
4.3 线程安全接口
4.4 双检查加锁优化
第5章 并发模式
5.1 主动对象
5.2 监视器对象
5.3 半同步/半异步
5.4 领导者槌随者
5.5 线程特定的存储器
第6章 将模式组织在一起
6.1 从独立模式到模式语言
6.1.1 没有模式是孤立的
6.1.2 走向模式语言
6.2 用于中间件和应用程序的模式语言
6.2.1 模式语言细节
6.2.2 对模式语言的讨论
6.3 并发和网络化之外
6.3.1 图形用户界面
6.3.2 组件
6.3.3 常规编程
6.4 模式语言与模式系统
第7章 模式的过去、现在和未来
7.1 在过去的4年中发生了什么
7.1.1 模式
7.1.2 模式系统和模式语言
7.1.3 方法和工具
7.1.4 算法与数据结构
7.1.5 形式化模式
7.2 模式现状
7.3 模式向何处去
7.3.1 模式
7.3.2 模式语言
7.3.3 经验报告、方法和工具
7.3.4 模式文档
7.3.5 形式化模式和模式语言
7.3.6 软件开发过程和组织
7.3.7 教育
7.3.8 长远预测
7.4 对预测未来的临思考
第8章 结束语
附录A 词汇表
附录B 符号
附录C 参考文献
索引
译者简介
前言
内容简介
作者简介
读者指南
第1章 并发和网络化对象
1.1 动机
1.2 并发和网络化软件的难题
1.2.1 难题1:服务访问和配置
1.2.2 难题2:事件处理
1.2.3 难题3:并发
1.2.4 难题4:同步
1.2.5 网络化软件的其他难题
1.3 案例分析:设计一个并发的Web服务器
1.3.1 JAWS框架概述
1.3.2 在JAWS中应用模式解决JAWS中常见的设计难题
1.3.3 封装低层操作系统API
1.3.4 从协议处理中分离事件多路分解和连接管理
1.3.5 通过多线程提高服务器性能
1.3.6 实现一个同步化的请求队列
1.3.7 最小化服务器线程的开销
1.3.8 有效地利用异步I/O
1.3.9 增强服务器的可配置性
1.3.10 用于实现JAWS的其他模式
1.4小结
第2章 服务访问和配置模式
2.1 包装器外观
2.2 组件配置器
2.3 截取器
2.4 扩展接口
第3章 事件处理模式
3.1 反应器
3.2 主动器
3.3 异步完成标记
3.4 接受器—连接器
第4章 同步模式
4.1 定界加锁
4.2 策略化加锁
4.3 线程安全接口
4.4 双检查加锁优化
第5章 并发模式
5.1 主动对象
5.2 监视器对象
5.3 半同步/半异步
5.4 领导者槌随者
5.5 线程特定的存储器
第6章 将模式组织在一起
6.1 从独立模式到模式语言
6.1.1 没有模式是孤立的
6.1.2 走向模式语言
6.2 用于中间件和应用程序的模式语言
6.2.1 模式语言细节
6.2.2 对模式语言的讨论
6.3 并发和网络化之外
6.3.1 图形用户界面
6.3.2 组件
6.3.3 常规编程
6.4 模式语言与模式系统
第7章 模式的过去、现在和未来
7.1 在过去的4年中发生了什么
7.1.1 模式
7.1.2 模式系统和模式语言
7.1.3 方法和工具
7.1.4 算法与数据结构
7.1.5 形式化模式
7.2 模式现状
7.3 模式向何处去
7.3.1 模式
7.3.2 模式语言
7.3.3 经验报告、方法和工具
7.3.4 模式文档
7.3.5 形式化模式和模式语言
7.3.6 软件开发过程和组织
7.3.7 教育
7.3.8 长远预测
7.4 对预测未来的临思考
第8章 结束语
附录A 词汇表
附录B 符号
附录C 参考文献
索引
猜您喜欢