注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)信息系統(tǒng)企業(yè)應(yīng)用架構(gòu)模式(英文版)

企業(yè)應(yīng)用架構(gòu)模式(英文版)

企業(yè)應(yīng)用架構(gòu)模式(英文版)

定 價:¥79.00

作 者: (美)福勒 著
出版社: 人民郵電出版社
叢編項: 圖靈程序設(shè)計叢書
標 簽: 管理信息系統(tǒng)

ISBN: 9787115204226 出版時間: 2009-06-01 包裝: 平裝
開本: 16開 頁數(shù): 533 字數(shù):  

內(nèi)容簡介

  面向?qū)ο蟠髱烳artin Fowler及其專家級合作者將40多種常用解決方案轉(zhuǎn)化成模式,為我們提供了這本能夠應(yīng)用于任何一種企業(yè)應(yīng)用平臺的、關(guān)于解決方案的參考書?!镀髽I(yè)應(yīng)用架構(gòu)模式(英文版)》敘述深入淺出,采用大量UML圖進一步闡明有關(guān)概念。前面介紹企業(yè)應(yīng)用的背景知識,如分層架構(gòu)、Web表現(xiàn)、業(yè)務(wù)邏輯、數(shù)據(jù)庫映射、并發(fā)、會話、分布策略等。在此基礎(chǔ)上,隨后的各章分別對與這些背景知識相關(guān)的設(shè)計模式進行了詳細的介紹,并配以詳細的Java代碼或C#代碼示例。《企業(yè)應(yīng)用架構(gòu)模式(英文版)》適合設(shè)計和構(gòu)建企業(yè)應(yīng)用的軟件架構(gòu)師、設(shè)計人員和編程人員閱讀,同時也可作為高等院校計算機專業(yè)及軟件學(xué)院相關(guān)課程的參考教材。

作者簡介

  Martin Fowler:享譽世界的軟件開發(fā)大師。現(xiàn)為著名軟件開發(fā)咨詢公司ThoughtWorks的首席科學(xué)家。他在面向?qū)ο蠓治雠c設(shè)計、UML、設(shè)計模式、軟件開發(fā)方法學(xué)、XP、重構(gòu)等方面都有重要貢獻。他更全球最具影響力的技術(shù)作家之一,除本書外,他的《分析模式》、《UML精粹》和《重構(gòu)》等著作都已經(jīng)成為經(jīng)典。

圖書目錄

Preface xvii
Who This Book Is For xx
A cknowledgments xxi
Colophon xxiii
Introduction 1
Architecture 1
EnterpriseApplications 2
Kinds of EnterpriseApplication 5
ThinkingAbout Performance 6
Patterns 9
The Structure of the Patterns 11
Limitations of These Patterns 13
PART 1: The Narratives 15
Chapter 1: Layering 17
The Evolution of Layers in EnterpriseApplications 18
The Three Principal Layers 19
Choosing Where to Run Your Layers 22
Chapter 2: Organizing Domain Logic 25
MakingA Choice 29
Service Layer 30
Chapter 3: Mapping to Relational Databases 33
Architectural Patterns 33
The Behavioral Problem 38
Reading in Data 40
Structural Mapping Patterns 41
Mapping Relationships 41
Inheritance 45
Building the Mapping 47
Double Mapping 48
Using Metadata 49
Database Connections 50
Some Miscellaneous Points 52
Further Reading 53
Chapter 4: Web Presentation 55
View Patterns 58
Input Controller Patterns 61
Further Reading 61
Chapter 5: Concurrency (by Martin FowlerAnd David Rice) 63
Concurrency Problems 64
Execution Contexts 65
IsolationAnd Immutability 66
OptimisticAnd Pessimistic Concurrency Control 67
Preventing Inconsistent Reads 68
Deadlocks 70
Transactions 71
ACID 71
Transactional Resources 72
Reducing Transaction Isolation for Liveness 73
BusinessAnd System Transactions 74
Patterns for Offline Concurrency Control 76
Application Server Concurrency 78
Further Reading 80
Chapter 6: Session State 81
The Value of Statelessness 81
Session State 83
Ways to Store Session State 84
Chapter 7: Distribution Strategies 87
TheAllure of Distributed Objects 87
RemoteAnd Local Interfaces 88
Where You Have to Distribute 90
Working with the Distribution Boundary 91
Interfaces for Distribution 92
Chapter 8: Putting ItAll Together 95
Starting with the Domain Layer 96
Down to the Data Source Layer 97
Data Source for Transaction Script (11 O) 97
Data Source for Table Module (125) 98
Data Source for Domain Model (116) 98
The Presentation Layer 99
Some Technology-SpecificAdvice 100
JavaAnd J2EE 100
NET 101
Stored Procedures 102
Web Services 103
Other Layering Schemes 103
PART 2: The Patterns 107
Chapter 9: Domain Logic Patterns 109
Transaction Script 110
How It Works 110
When to Use It 111
The Revenue Recognition Problem 112
Example: Revenue Recognition (Java) 113
Domain Model 116
How It Works 116
When to Use It 119
Further Reading 119
Example: Revenue Recognition (Java) 120
Table Module 125
How It Works 126
When to Use It 128
Example: Revenue Recognition withA Table Module (C#) 129
Service Layer (by Randy Stafford) 133
How It Works 134
When to Use It 137
Further Reading 13 7
Example: Revenue Recognition (Java) 138
Chapter 10: Data SourceArchitectural Patterns 143
Table Data Gateway 144
How It Works 144
When to Use It 145
Further Reading 146
Example: Person Gateway (C#) 146
Example: UsingADO NET Data Sets (C#) 148
Row Data Gateway 152
How It Works 152
When to Use It 153
Example:A Person Record (Java) 155
Example:A Data Holder forA Domain Object (Java) 158
Active Record 160
How It Works 160
When to Use It 161
Example:A Simple Person (Java) 162
Data Mapper 165
How It Works 165
When to Use It 170
Example:A Simple Database Mapper (Java) 171
Example: Separating the Finders (Java) 176
Example: CreatingAn Empty Object (Java) 179
Chapter 11: Object-Relational Behavioral Patterns 183
Unit of Work 184
How It Works 184
When to Use It 189
Example: Unit of Work with Object Registration (Java)
(by David Rice) 190
Identity Map 195
How It Works 195
When to Use It 198
Example: Methods forAn Identity Map (Java) 198
Lazy Load 200
How It Works 200
When to Use It 203
Example: Lazy Initialization (Java) 203
Example: Virtual Proxy (Java) 203
Example: UsingA Value Holder (Java) 205
Example: Using Ghosts (C#) 206
3hapter 12: Object-Relational Structural Patterns 215
Identity Field 216
How It Works 216
When to Use It 220
Further Reading 221
Example: Integral Key (C#) 221
Example: UsingA Key Table (Java) 222
Example: UsingA Compound Key (Java) 224
Foreign Key Mapping 236
How It Works 236
When to Use It 239
Example: Single-Valued Reference (Java) 240
Example: Multitable Find (Java) 243
Example: Collection of References (C#) 244
Association Table Mapping 248
How It Works 248
When to Use It 249
Example: EmployeesAnd Skills (C#) 250
Example: Using Direct SQL (Java) 253
Example: UsingA Single Query for Multiple Employees (Java)
(by Matt FoemmelAnd Martin Fowler) 256
Dependent Mapping 262
How It Works 262
When to Use It 263
Example:AlbumsAnd Tracks (Java) .. 264
Embedded Value 268
How It Works 268
When to Use It 268
Further Reading 270
Example: Simple Value Object (Java) 270
Serialized LOB 272
How It Works 272
When to Use It 274
Example: SerializingA Department Hierarchy in
XML (Java) 274
Single Table Inheritance 278
How It Works 278
When to Use It 279
Example:A Single Table for Players (C#) 280
LoadingAn Object from the Database 281
Class Table Inheritance 285
How It Works 285
When to Use It 286
Further Reading 287
Example: PlayersAnd Their Kin (C#) 287
Concrete Table Inheritance 293
How It Works 293
When to Use It 295
Example: Concrete Players (C#) 296
Inheritance Mappers 302
How It Works 303
When to Use It 304
Chapter 13: Object-Relational Metadata Mapping Patterns 305
Chapter 14: Web Presentation Patterns 329
Chapter 15: Distribution Patterns 387
Chapter 16: Offline Concurrency Patterns 415
Chapter 17: Session State Patterns 455
Chapter 18: Base Patterns 465
Index 517

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號