開啟主選單

求真百科

面向模式的軟件架構

面向模式的軟件架構

《面向模式的軟件架構:分布式計算的模式語言(卷4)》關注分布式計算系統軟件的設計和實現。書中首先介紹理解《面向模式的軟件架構:分布式計算的模式語言(卷4)》內容所需的核心的模式概念,分布式計算的好處和挑戰;然後描述如何使用分布式計算模式語言,設計真實世界中倉庫管理流程控制系統;最後重點講述分布式計算模式語言,該語言陳述了創建分布式系統相關的技術主題。 《面向模式的軟件架構:分布式計算的模式語言(卷4)》適用於軟件架構師和開發人員。

目錄

圖書信息

書 名:面向模式的軟件架構

作 者:布施曼(FrankBuschmann)

出版社: 人民郵電出版社

出版時間: 2010年6月1日

ISBN: 9787115227737

開本: 16開

定價: 69.00元

內容簡介

《面向模式的軟件架構:分布式計算的模式語言(卷4)》關注分布式計算系統軟件的設計和實現。書中首先介紹理解《面向模式的軟件架構:分布式計算的模式語言(卷4)》內容所需的核心的模式概念,分布式計算的好處和挑戰;然後描述如何使用分布式計算模式語言,設計真實世界中倉庫管理流程控制系統;最後重點講述分布式計算模式語言,該語言陳述了創建分布式系統相關的技術主題。

《面向模式的軟件架構:分布式計算的模式語言(卷4)》適用於軟件架構師和開發人員。

作者簡介

作者:(德國)布施曼(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.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[1]

參考文獻