面向模式的软件架构
《面向模式的软件架构:分布式计算的模式语言(卷4)》关注分布式计算系统软件的设计和实现。书中首先介绍理解《面向模式的软件架构:分布式计算的模式语言(卷4)》内容所需的核心的模式概念,分布式计算的好处和挑战;然后描述如何使用分布式计算模式语言,设计真实世界中仓库管理流程控制系统;最后重点讲述分布式计算模式语言,该语言陈述了创建分布式系统相关的技术主题。 《面向模式的软件架构:分布式计算的模式语言(卷4)》适用于软件架构师和开发人员。
目录
图书信息作者简介图书目录
图书信息书 名: 面向模式的软件架构
作者:布施曼(FrankBuschmann)
出版社:人民邮电出版社
出版时间: 2010年6月1日
ISBN: 9787115227737
开本: 16开
定价: 69.00元
作者简介作者:(德国)布施曼(Frank Buschmann) (英国)亨尼(Kevlin Henney) (美国)施密特(Douglas C.Schmidt) 译者:肖鹏 陈立
布施曼(Frank Buschmann),是德国慕尼黑西门子公司总部技术部门的高级工程师。他的研究兴趣包括对象技术、软件体系结构、框架和模式。他在这些领域发表了很多文章,这些文章可以在他与人合著的POSA第1卷中找到。Frank于1992~1996年期间是ANSI C++标准化委员会X3J16的成员。Frank发起并组织了在欧洲举办的第一次关于模式的会议——EuroOLop 1996,他也是PLoPD丛书第三卷的主编之一。Frank参与了一些大规模工业软件项目的设计与实现,这些项目包括商务信息、工业自动化以及电信系统。
工作之余,Frank的生活丰富多彩。他喜欢陪着妻子Martina和女儿Anna享受家庭的快乐;他喜欢骑着马儿Eddi外出遛弯,或者独自跑到慕尼黑啤酒花园打发时间;他喜欢在观看最爱的多特蒙德足球队的比赛时尽洒激情,也偶尔在慕尼黑歌剧院里的演出中尽情陶醉;临睡前他还喜欢来杯珍藏的苏格兰纯麦威士忌。
亨尼(Kevlin Henney),住在英国布里斯托尔,是一名独立顾问。他主要从事自己感兴趣的领域的教授、辅导和实践,这些领域包括编程语言和技术、软件架构、模式和敏捷开发。他的客户既有全球化的公司,也有刚起步的小公司,所涉及的领域包括系统软件、电信、嵌入式系统、中间件开发、业务信息和金融。
Kevlin经常在各种软件会议上应邀演讲,同时也参与了多个会议的组织工作,包括EuroPLoP。他通过英国标准学会(BSI)和ISO参与到c++的标准中来,同时也参与了其他语言的标准化工作。Kevlin也因其写作受人关注,经常发表会议论文,主持各种出版物上定期的(和不定期的)专栏,比如Cl++Report、Cl/c++己lsers Journal.Java ReporT、JavasPektrum、Application DevelopmentAdvisor、The Register、EXE和Overload。
Kevlin的业余时间则是与妻子Carolyn还有两个孩子Stefan和Yannick度过的。他跟孩子摆摆积木,给孩子们修修玩具,看书,有时也啜几口啤酒或者来一杯葡萄酒。
施密特(Doug Schmidt),是美国田纳西州纳什维尔市范德比尔特大学计算机科学教授,计算机科学与工程计划副主席。他的研究领域包括模式和模式语言、优化原理,还包括对于支持服务质量(QoS)的组件中间件相关技术的实证分析(empirical analysis)和支持分布式实时嵌入式系统的模型驱动的工程工具。
Doug是国际公认的软件开发方面的专家,尤其是模式、面向对象框架、实时中间件、建模工具和开源软件开发等方面。他已经在各种顶级技术杂志和会议上发表了300多篇论文;他与人合著了模式方面的著作[POSA2]和有关C++网络编程的[SH02][SH03];同时他还与人合编过数本畅销的书,比如模式方面有[PLoPDl],框架方面有[FJS99a][FJS99b]。除了学术研究,Doug还领导了ACE、TAO、CIAO和CoSMIC的开发,这些广泛应用的开源的中间件框架和模型驱动的工程工具包含了一整套丰富的可重用的组件,这些组件的实现大量使用了本书中介绍的模式。
在他闲暇之隙,Doug总是跟妻子Lori和儿子Bronson待在一起,他们一起练练举重、弹弹吉它、讨论世界历史和政治,或者开着他们的雪佛兰Corvette跑车四处兜风。
译者简介:
肖鹏,ThoughtWorks高级咨询师。敏捷过程教练。面向对象分析和面向对象设计专家。拥有6年以上软件开发实践经验,多次担任国内大中型企业敏捷流程改进、面向对象分析和面向对象设计咨询和培训。他长期关注设计模式、架构模式、敏捷软件开发等领域。并致力于推广软件开发最佳实践。他曾参与翻译《ViSual Studio 2005技术大全》,主持翻译《面向模式的软件架构》第四卷和第五卷。
图书目录第一部分概念
第1章模式与模式语言 2
1.1模式 2
1.2模式内幕 3
1.2.1问题的环境 3
1.2.2驱动因素:所有模式的核心 4
1.2.3解决方案与结果 4
1.2.4模式命名 4
1.2.5模式表现形式概述 5
1.3模式的关系 5
1.3.1模式的互补 5
1.3.2模式的组合 6
1.3.3模式故事 6
1.3.4模式序列 7
1.4模式语言 7
1.4.1从模式序列到模式语言 7
1.4.2展现和使用模式语言 7
1.5模式的连接 8
第2章分布式系统 9
2.1分布式的优点 9
2.2分布式的挑战 11
2.3用以支持分布式的技术 12
2.3.1分布式对象计算中间件 13
2.3.2组件中间件 14
2.3.3发布/订阅中间件和面向消息的中间件 15
2.3.4面向服务架构和Web服务 16
2.4中间件技术的局限性 17
第3章模式语言 18
3.1意图、范畴和对象 18
3.2起源 18
3.3结构和内容 19
3.4模式的表现 24
3.5实际应用 26
第二部分模式故事
第4章仓库管理流程控制 33
4.1系统范畴 33
4.2仓库管理流程控制 34
第5章基线架构 37
5.1架构环境 37
5.2划分大泥球 38
5.3层次分解 38
5.4访问领域对象功能 40
5.5网络桥接 41
5.6分离用户界面 43
5.7功能分布 45
5.8支持并发的领域对象访问 47
5.9获得可扩展的并发性 48
5.10将面向对象与关系型数据库连接起来 49
5.11领域对象的运行时配置 50
5.12基线架构总结 51
第6章通信中间件 54
6.1分布式系统的中间件架构 54
6.2对中间件的内部设计进行结构化 57
6.3封装底层系统机制 58
6.4分离ORB核心事件 59
6.5ORB连接管理 61
6.6提高ORB的可伸缩性 63
6.7实现同步请求队列 65
6.8可互换的内部ORB机制 66
6.9管理ORB策略 68
6.10ORB动态配置 69
6.11通信中间件总结 71
第7章仓库拓扑 74
7.1仓库拓扑基线 74
7.2表现层次化的存储结构 74
7.3存储结构导航 77
7.4存储属性建模 78
7.5不同的存储单元行为 79
7.6实现全局功能 81
7.7遍历仓库拓扑 81
7.8支持控制流扩展 83
7.9连接数据库 84
7.10维护内存中的存储单元数据 85
7.11配置仓库拓扑 86
7.12细述显式接口 88
7.13仓库拓扑总结 89
第8章模式故事背后的故事 91
第三部分模式语言
第9章从混沌到结构 97
9.1Domain Model** 106
9.2Layers** 108
9.3Model-View-Controller** 109
9.4Presentation-Abstraction-Control 111
9.5Microkernel** 113
9.6Reflection* 114
9.7Pipes and Filters** 116
9.8Shared Repository** 117
9.9Blackboard 119
9.10Domain Object** 121
第10章分布式基础设施 123
10.1Messaging** 129
10.2Message Channel** 130
10.3Message Endpoint** 132
10.4Message Translator** 133
10.5Message Router** 134
10.6Publisher-Subscriber** 135
10.7Broker** 137
10.8Client Proxy** 139
10.9Requestor** 140
10.10Invoker** 142
10.11Client Request Handler** 143
10.12Server Request Handler** 144
第11章事件分离和分发 147
11.1Reactor** 150
11.2Proactor* 152
11.3Acceptor-Connector** 154
11.4Asynchronous Completion Token** 155
第12章接口划分 157
12.1Explicit Interface** 163
12.2Extension Interface** 165
12.3Introspective Interface** 166
12.4Dynamic Invocation Interface* 167
12.5Proxy** 169
12.6Business Delegate** 170
12.7Facade** 171
12.8Combined Method** 172
12.9Iterator** 173
12.10Enumeration Methond** 174
12.11Batch Method** 175
第13章组件划分 177
13.1Encapsulated Implementation** 181
13.2Whole-Part** 183
13.3Composite** 185
13.4Master-Slave** 186
13.5Half-Object plus Protocol** 188
13.6Replicated Component Group** 189
第14章应用控制 191
14.1Page Controller** 196
14.2Front Controller** 197
14.3Application Controller** 198
14.4Command Processor** 199
14.5Template View** 200
14.6Transform View** 201
14.7Firewall Proxy** 202
14.8Authorization** 204
第15章并发 206
15.1Half-Sync/Half-Async** 209
15.2Leader/Followers** 211
15.3Active Object** 212
15.4Monitor Object** 214
第16章同步 216
16.1Guarded Suspension** 221
16.2Future** 223
16.3Thread-Safe Interface* 224
16.4Double-Checked Locking 225
16.5Strategized Locking** 226
16.6Scoped Locking** 227
16.7Thread-Specific Storage 228
16.8Copied Value** 230
16.9Immutable Value** 231
第17章对象间的交互 233
17.1Observer** 237
17.2Double Dispatch ** 238
17.3Mediator* 239
17.4Command** 240
17.5Memento** 242
17.6Context Object** 243
17.7Data Transfer Object** 244
17.8Message** 245
第18章适配与扩展 247
18.1Bridge** 255
18.2Object Adapter** 256
18.3Chain of Responsibility* 257
18.4Interpreter 258
18.5Interceptor** 260
18.6Visitor** 261
18.7Decorator 262
18.8Execute-Around Object** 264
18.9Template Method* 265
18.10Strategy** 266
18.11Null Object** 267
18.12Wrapper Facade** 269
18.13Declarative Component Configuration* 270
第19章模态行为 272
19.1Objects for States* 274
19.2Methods for States* 275
19.3Collections for States* 276
第20章资源管理 278
20.1Container* 288
20.2Component Configurator* 289
20.3Object Manager** 291
20.4Lookup** 292
20.5Virtual Proxy** 294
20.6Lifecycle Callback** 295
20.7Task Coordinator* 296
20.8Resource Pool** 298
20.9Resource Cache** 299
20.10Lazy Acquisition** 300
20.11Eager Acquisition** 301
20.12Partial Acquisition* 303
20.13Activator** 304
20.14Evictor** 305
20.15Leasing** 306
20.16Automated Garbage Collection** 307
20.17Counting Handles** 309
20.18Abstract Factory** 311
20.19Builder* 312
20.20Factory Method** 313
20.21Disposal Method** 314
第21章数据库访问 316
21.1Database Access Layer** 318
21.2Data Mapper** 320
21.3Row Data Gateway** 321
21.4Table Data Gateway ** 323
21.5Active Record 324
第22章最后的思考 326
术语表 327
参考书目 340