面向模式的軟體架構卷4:分散式計算的模式語言

內容介紹

迄今為止,人們提出的軟體開發模式有不少是關於分散式計算的,但人們始終無法以完整的視角了解分散式計算中各種模式是如何協同工作、取長補短的。構建複雜的分散式系統似乎成為了永遠也無法精通的一門手藝。本書的出版改變了這一切。
本書是經典的POSA系列的第4卷,介紹了一種模式設計語言,將分散式系統開發中的114個模式聯繫起來。書中首先介紹了一些分散式系統和模式語言的概念,然後通過一個倉庫管理流程控制系統的例子,介紹如何使用模式語言設計分散式系統,最後介紹模式語言本身。
使用這一模式語言,人們可以有效地解決許多與分散式系統開發相關的技術問題,如
★ 對象互動
★ 接口與組件劃分
★ 套用控制
★ 資源管理
★ 並發與同步
本書從實用角度展示了如何從現有的主要模式中整合出一門全面的模式語言,用於開發分散式計算中間件及應用程式。作為該領域在市場上唯一統攬全局的書,它將給讀者帶來醍醐灌頂的感覺!

作品目錄

第一部分 概念
第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.5 ORB連線管理 61
6.6 提高ORB的可伸縮性 63
6.7 實現同步請求佇列 65
6.8 可互換的內部ORB機制 66
6.9 管理ORB策略 68
6.10 ORB動態配置 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.1 Domain Model** 106
9.2 Layers** 108
9.3 Model-View-Controller** 109
9.4 Presentation-Abstraction-Control 111
9.5 Microkernel** 113
9.6 Reflection* 114
9.7 Pipes and Filters** 116
9.8 Shared Repository** 117
9.9 Blackboard 119
9.10 Domain Object** 121
第10章 分散式基礎設施 123
10.1 Messaging** 129
10.2 Message Channel** 130
10.3 Message Endpoint** 132
10.4 Message Translator** 133
10.5 Message Router** 134
10.6 Publisher-Subscriber** 135
10.7 Broker** 137
10.8 Client Proxy** 139
10.9 Requestor** 140
10.10 Invoker** 142
10.11 Client Request Handler** 143
10.12 Server Request Handler** 144
第11章 事件分離和分發 147
11.1 Reactor** 150
11.2 Proactor* 152
11.3 Acceptor-Connector** 154
11.4 Asynchronous Completion Token** 155
第12章 接口劃分 157
12.1 Explicit Interface** 163
12.2 Extension Interface** 165
12.3 Introspective Interface** 166
12.4 Dynamic Invocation Interface* 167
12.5 Proxy** 169
12.6 Business Delegate** 170
12.7 Facade** 171
12.8 Combined Method** 172
12.9 Iterator** 173
12.10 Enumeration Methond** 174
12.11 Batch Method** 175
第13章 組件劃分 177
13.1 Encapsulated Implementation** 181
13.2 Whole-Part** 183
13.3 Composite** 185
13.4 Master-Slave** 186
13.5 Half-Object plus Protocol** 188
13.6 Replicated Component Group** 189
第14章 套用控制 191
14.1 Page Controller** 196
14.2 Front Controller** 197
14.3 Application Controller** 198
14.4 Command Processor** 199
14.5 Template View** 200
14.6 Transform View** 201
14.7 Firewall Proxy** 202
14.8 Authorization** 204
第15章 並發 206
15.1 Half-Sync/Half-Async** 209
15.2 Leader/Followers** 211
15.3 Active Object** 212
15.4 Monitor Object** 214
第16章 同步 216
16.1 Guarded Suspension** 221
16.2 Future** 223
16.3 Thread-Safe Interface* 224
16.4 Double-Checked Locking 225
16.5 Strategized Locking** 226
16.6 Scoped Locking** 227
16.7 Thread-Specific Storage 228
16.8 Copied Value** 230
16.9 Immutable Value** 231
第17章 對象間的互動 233
17.1 Observer** 237
17.2 Double Dispatch ** 238
17.3 Mediator* 239
17.4 Command** 240
17.5 Memento** 242
17.6 Context Object** 243
17.7 Data Transfer Object** 244
17.8 Message** 245
第18章 適配與擴展 247
18.1 Bridge** 255
18.2 Object Adapter** 256
18.3 Chain of Responsibility* 257
18.4 Interpreter 258
18.5 Interceptor** 260
18.6 Visitor** 261
18.7 Decorator 262
18.8 Execute-Around Object** 264
18.9 Template Method* 265
18.10 Strategy** 266
18.11 Null Object** 267
18.12 Wrapper Facade** 269
18.13 Declarative Component Configuration* 270
第19章 模態行為 272
19.1 Objects for States* 274
19.2 Methods for States* 275
19.3 Collections for States* 276
第20章 資源管理 278
20.1 Container* 288
20.2 Component Configurator* 289
20.3 Object Manager** 291
20.4 Lookup** 292
20.5 Virtual Proxy** 294
20.6 Lifecycle Callback** 295
20.7 Task Coordinator* 296
20.8 Resource Pool** 298
20.9 Resource Cache** 299
20.10 Lazy Acquisition** 300
20.11 Eager Acquisition** 301
20.12 Partial Acquisition* 303
20.13 Activator** 304
20.14 Evictor** 305
20.15 Leasing** 306
20.16 Automated Garbage Collection** 307
20.17 Counting Handles** 309
20.18 Abstract Factory** 311
20.19 Builder* 312
20.20 Factory Method** 313
20.21 Disposal Method** 314
第21章 資料庫訪問 316
21.1 Database Access Layer** 318
21.2 Data Mapper** 320
21.3 Row Data Gateway** 321
21.4 Table Data Gateway ** 323
21.5 Active Record 324
第22章 最後的思考 326
術語表 327
參考書目 340

相關詞條

熱門詞條

聯絡我們