图书介绍

企业应用架构模式pdf电子书版本下载

企业应用架构模式
  • (英)Martin Fowler著;王怀民,周斌译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111143051
  • 出版时间:2004
  • 标注页数:363页
  • 文件大小:25MB
  • 文件页数:379页
  • 主题词:软件工具-程序设计-应用-企业管理

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

企业应用架构模式PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目 录 1

模式列表 1

译者序 1

前言 1

引言 1

0.1架构 1

0.2企业应用 2

0.3企业应用的种类 3

0.4关于性能的考虑 4

0.5模式 6

0.5.1模式的结构 7

0.5.2模式的局限性 9

第一部分表 述 12

第1章分层 12

1.1企业应用中层次的演化 13

1.2三个基本层次 14

1.3为各层选择运行环境 15

第2章组织领域逻辑 19

2.1抉择 22

2.2服务层 23

第3章映射到关系数据库 25

3.1架构模式 25

3.2行为问题 28

3.3读取数据 29

3.4结构映射模式 30

3.4.1关系的映射 30

3.4.2继承 33

3.5建立映射 34

3.6使用元数据 35

3.7数据库连接 36

3.8其他问题 38

3.9进一步阅读 38

第4章Web表现层 39

4.1视图模式 41

4.2输入控制器模式 43

4.3进一步阅读 43

第5章并发 45

5.1并发问题 45

5.2执行语境 46

5.3隔离与不变性 47

5.4乐观并发控制和悲观并发控制 48

5.4.1避免不一致读 49

5.4.2 死锁 49

5.5事务 50

5.5.1 ACID 51

5.5.2事务资源 51

5.5.3减少事务隔离以提高灵活性 52

5.5.4业务事务和系统事务 53

5.6离线并发控制的模式 54

5.7应用服务器并发 55

5.8进一步阅读 56

第6章会话状态 57

6.1无状态的价值 57

6.2会话状态 58

6.3存储会话状态的方法 59

第7章分布策略 61

7.1分布对象的诱惑 61

7.2远程接口和本地接口 62

7.3必须使用分布的情况 63

7.5分布接口 64

7.4关于分布边界 64

第8章通盘考虑 67

8.1从领域层开始 67

8.2深入到数据源层 68

8.2.1事务脚本的数据源 68

8.2.2表模块的数据源 69

8.2.3领域模型的数据源 69

8.3表现层 69

8.4.1 Java和J2EE 70

8.4一些关于具体技术的建议 70

8.4.2.NET 71

8.4.3存储过程 71

8.4.4 Web Services 72

8.5其他分层方式 72

第二部分模 式 76

第9章领域逻辑模式 76

9.1事务脚本(Transaction Script) 76

9.1.1运行机制 76

9.1.2使用时机 77

9.1.4例:收入确认(Java) 78

9.1.3 收入确认问题 78

9.2领域模型(DomainModel) 81

9.2.1运行机制 81

9.2.2使用时机 83

9.2.3进一步阅读 83

9.2.4例:收入确认(Java) 84

9.3表模块(Table Module) 87

9.3.1运行机制 88

9.3.3例:基于表模块的收入确认(C#) 90

9.3.2使用时机 90

9.4服务层(Service Layer) 93

9.4.1运行机制 94

9.4.2使用时机 96

9.4.3进一步阅读 96

9.4.4例:收入确认(Java) 96

第10章数据源架构模式 101

10.1表数据入口(TableDataGateway) 101

10.1.1运行机制 101

10.1.3进一步阅读 102

10.1.2使用时机 102

10.1.4例:人员入口(C#) 103

10.1.5例:使用ADO.NET数据集(C#) 104

10.2行数据入口(Row DataGateway) 106

10.2.1运行机制 107

10.2.2使用时机 108

10.2.3例:人员记录(Java) 108

10.2.4例:领域对象的数据保持器(Java) 111

10.3活动记录(Active Record) 112

10.3.1运行机制 112

10.3.3例:一个简单的Person类(Java) 113

10.3.2使用时机 113

10.4数据映射器(DataMapper) 115

10.4.1运行机制 116

10.4.2使用时机 119

10.4.3例:一个简单的数据映射器(Java) 119

10.4.4例:分离查找方法(Java) 123

10.4.5例:创建一个空对象(Java) 126

第11章对象一关系行为模式 129

11.1工作单元(Unit ofWork) 129

11.1.1运行机制 129

11.1.2使用时机 133

11.1.3例:使用对象注册的工作单元(Java) 134

11.2标识映射(Identity Map) 137

11.2.1运行机制 137

11.2.2使用时机 139

11.2.3例:标识映射中的方法(Java) 139

11.3延迟加载(Lazy Load) 140

11.3.1运作机制 140

11.3.3例:延迟初始化(Java) 142

11.3.4例:虚代理(Java) 142

11.3.2使用时机 142

11.3.5例:使用值保持器(Java) 144

11.3.6例:使用重影(C#) 144

第12章对象一关系结构模式 151

12.1标识域(Identity Field) 151

12.1.1工作机制 151

12.1.2使用时机 154

12.1.3 进一步阅读 154

12.1.4例:整型键(C#) 154

12.1.5例:使用键表(Java) 155

12.1.6例:使用组合键(Java) 157

12.2外键映射(Foreign Key Mapping) 166

12.2.1运行机制 167

12.2.2使用时机 169

12.2.3例:单值引用(Java) 169

12.2.4例:多表查询(Java) 172

12.2.5例:引用集合(C#) 173

12.3关联表映射(Association Table 175

Mapping) 175

12.3.1运行机制 176

12.3.2使用时机 176

12.3.3例:雇员和技能(C#) 177

12.3.4例:使用直接的SQL(Java) 179

12.3.5例:用一次查询查多个雇员(Java) 182

12.4依赖映射(Dependent Mapping) 186

12.4.1运行机制 186

12.4.2使用时机 187

12.4.3例:唱片和曲目(Java) 188

12.5嵌入值(Embedded Value) 190

12.5.1运行机制 190

12.5.2使用时机 190

12.5.4例:简单值对象(Java) 191

12.5.3进一步阅读 191

12.6序列化LOB(Serialized LOB) 192

12.6.1运行机制 193

12.6.2使用时机 194

12.6.3例:在XML中序列化一个 194

部门层级(Java) 194

12.7单表继承(Single Table Inheritance) 196

12.7.1运行机制 197

12.7.2使用时机 197

12.7.3例:运动员的单表(C#) 198

12.7.4从数据库中加载对象 199

12.8类表继承(Class Table Inheritance) 202

12.8.1运行机制 202

12.8.2使用时机 203

12.8.3进一步阅读 203

12.8.4例:运动员和他们的家属(C#) 203

12.9具体表继承(ConcreteTableInheritance) 208

12.9.1运行机制 209

12.9.2使用时机 210

12.9.3例:具体运动员(C#) 210

12.10继承映射器(Inheritance Mappers) 214

12.10.1运行机制 215

12.10.2使用时机 216

第13章对象一关系元数据映射模式 217

13.1元数据映射(MetadataMapping) 217

13.1.1运行机制 217

13.1.2使用时机 218

13.1.3例:使用元数据和反射(Java) 219

13.2查询对象(Query Object) 224

13.2.2使用时机 225

13.2.1运行机制 225

13.2.3进一步阅读 226

13.2.4例:简单的查询对象(Java) 226

13.3资源库(Repository) 228

13.3.1运行机制 229

13.3.2使用时机 230

13.3.3进一步阅读 231

13.3.4例:查找一个人所在的部门(Java) 231

13.3.5例:资源库交换策略(Java) 231

14.1.1运行机制 233

(Model View Controller) 233

第14章Web表现模式 233

14.1模型-视图-控制器 233

14.1.2使用时机 234

14.2页面控制器(Page Controller) 235

14.2.1运行机制 235

14.2.2使用时机 236

14.2.3例:Servlet控制器和JSP视图的简单演示(Java) 236

14.2.4例:使用JSP充当处理程序(Java) 238

14.2.5例:代码隐藏的页面控制器(C#) 241

14.3前端控制器(Front Controller) 243

14.3.1运行机制 244

14.3.2使用时机 245

14.3.3进一步阅读 246

14.3.4例:简单的显示(Java) 246

14.4模板视图(Template View) 248

14.4.1运行机制 249

14.4.2使用时机 251

14.4.3例:分离的控制器,使用JSP 252

充当视图(Java) 252

14.4.4例:ASP.NET服务器页面(C#) 253

14.5转换视图(Transform View) 256

14.5.1运行机制 256

14.5.2使用时机 257

14.5.3例:简单的转换(Java) 257

14.6两步视图(Two Step View) 259

14.6.1运行机制 259

14.6.2使用时机 260

14.6.3例:两阶XSLT(XSLT) 264

14.6.4例:JSP和定制标记(Java) 266

14.7应用控制器(Application Controller) 269

14.7.1运行机制 270

14.7.2使用时机 271

14.7.3进一步阅读 271

14.7.4例:状态模型应用控制器(Java) 271

第15章分布模式 275

15.1远程外观(Remote Facade) 275

15.1.1运行机制 276

15.1.3例:使用Java语言的会话 278

bean来作为远程外观(Java) 278

15.1.2使用时机 278

15.1.4例:Web Service(C#) 281

15.2数据传输对象(DataTransferObject) 285

15.2.1运行机制 285

15.2.2使用时机 288

15.2.3进一步阅读 289

15.2.4例:传输唱片信息(Java) 289

15.2.5例:使用XML实现序列化(Java) 293

16.1乐观离线锁(Optimistic Offiine Lock) 295

第16章离线并发模式 295

16.1.1运行机制 296

16.1.2使用时机 298

16.1.3例:领域层与数据映射器(Java) 298

16.2悲观离线锁(Pessimistic Offline Lock) 302

16.2.1运行机制 303

16.2.2使用时机 305

16.2.3例:简单锁管理对象(Java) 305

16.3粗粒度锁(Coarse-Grained Lock) 310

16.3.1运行机制 310

16.3.3例:共享的乐观离线锁(Java) 312

16.3.2使用时机 312

16.3.4例:共享的悲观离线锁(Java) 316

16.3.5例:根对象乐观离线锁(Java) 317

16.4隐含锁(ImplicitLock) 318

16.4.1运行机制 318

16.4.2使用时机 319

16.4.3例:隐含的悲观离线锁(Java) 319

第17章会话状态模式 321

17.1客户会话状态(Client Session State) 321

17.1.1运行机制 321

17.2.1运行机制 322

17.1.2使用时机 322

1 7.2服务器会话状态(Server Session State) 322

17.2.2使用时机 324

17.3数据库会话状态(DatabaseSessionState) 324

17.3.1运行机制 324

17.3.2使用时机 325

第18章基本模式 327

18.1入口(Gateway) 327

18.1.1运行机制 327

18.1.2使用时机 328

18.1.3例:私有消息服务的入口(Java) 329

18.2映射器(Mapper) 331

18.2.1运行机制 332

18.2.2使用时机 332

18.3层超类型(Layer Supertype) 332

18.3.1运行机制 332

18.3.3例:领域对象(Java) 333

18.4分离接口(Separated Interface) 333

18.3.2使用时机 333

18.4.1运行机制 334

18.4.2使用时机 335

18.5注册表(Registry) 335

18.5.1运行机制 336

18.5.2使用时机 337

18.5.3例:单子注册表(Java) 337

18.5.4例:线程安全的注册表(Java) 338

18.6值对象(Value Object) 339

18.6.1运行机制 339

18.7货币(Money) 340

18.6.2使用时机 340

18.7.1运行机制 341

18.7.2使用时机 342

18.7.3例:货币类(Java) 343

18.8特殊情况(Special Case) 346

18.8.1运行机制 347

18.8.2使用时机 347

18.8.3进一步阅读 347

18.8.4例:一个简单的空对象(C#) 347

18.9插件(Plugin) 348

18.9.1运行机制 349

18.9.2使用时机 350

18.9.3例:ID生成器(Java) 350

18.10服务桩(Service Stub) 352

18.10.1运行机制 352

18.10.2使用时机 353

18.10.3例:销售税服务(Java) 353

18.11记录集(Record Set) 355

18.11.1运行机制 355

18.11.2使用时机 356

参考文献 359

精品推荐