由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]企业应用架构模式(典藏版)[英]马丁·福勒(Martin Fow
¥ ×1
目 录Contents
译者序
前言
模式列表
引言 1
0.1 架构 1
0.2 企业应用 2
0.3 企业应用的种类 4
0.4 关于性能的考虑 5
0.5 模式 7
0.5.1 模式的结构 8
0.5.2 模式的局限性 9
第一部分 表 述
第1章 分层 12
1.1 企业应用中层次的演化 13
1.2 三个基本层次 14
1.3 为各层选择运行环境 16
第2章 组织领域逻辑 18
2.1 抉择 21
2.2 服务层 22
第3章 映射到关系数据库 24
3.1 架构模式 24
3.2 行为问题 28
3.3 读取数据 29
3.4 结构映射模式 30
3.4.1 关系的映射 30
3.4.2 继承 32
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 进一步阅读 44
第5章 并发 45
5.1 并发问题 46
5.2 执行语境 47
5.3 隔离与不变性 48
5.4 乐观并发控制和悲观并发控制 48
5.4.1 避免不一致读 49
5.4.2 死锁 50
5.5 事务 51
5.5.1 ACID 52
5.5.2 事务资源 52
5.5.3 减少事务隔离以提高灵活性 53
5.5.4 业务事务和系统事务 54
5.6 离线并发控制的模式 55
5.7 应用服务器并发 56
5.8 进一步阅读 57
第6章 会话状态 58
6.1 无状态的价值 58
6.2 会话状态 59
6.3 存储会话状态的方法 60
第7章 分布策略 63
7.1 分布对象的诱惑 63
7.2 远程接口和本地接口 64
7.3 必须使用分布的情况 65
7.4 关于分布边界 66
7.5 分布接口 67
第8章 通盘考虑 68
8.1 从领域层开始 69
8.2 深入到数据源层 70
8.2.1 事务脚本的数据源 70
8.2.2 表模块的数据源 70
8.2.3 领域模型的数据源 70
8.3 表示层 71
8.4 一些关于具体技术的建议 72
8.4.1 Java和J2EE 72
8.4.2 .NET 73
8.4.3 存储过程 73
8.4.4 Web Services 74
8.5 其他分层方式 74
第二部分 模 式
第9章 领域逻辑模式 78
9.1 事务脚本 78
9.1.1 运行机制 78
9.1.2 使用时机 79
9.1.3 收入确认问题 80
9.1.4 例:收入确认(Java) 81
9.2 领域模型 83
9.2.1 运行机制 84
9.2.2 使用时机 86
9.2.3 进一步阅读 86
9.2.4 例:收入确认(Java) 86
9.3 表模块 90
9.3.1 运行机制 91
9.3.2 使用时机 93
9.3.3 例:基于表模块的收入
确认(C#) 93
9.4 服务层 96
9.4.1 运行机制 97
9.4.2 使用时机 99
9.4.3 进一步阅读 100
9.4.4 例:收入确认(Java) 100
第10章 数据源架构模式 103
10.1 表数据入口 103
10.1.1 运行机制 103
10.1.2 使用时机 104
10.1.3 进一步阅读 105
10.1.4 例:人员入口(C#) 105
10.1.5 例:使用ADO.NET
数据集(C#) 107
10.2 行数据入口 109
10.2.1 运行机制 110
10.2.2 使用时机 110
10.2.3 例:人员记录(Java) 111
10.2.4 例:领域对象的数据
保持器(Java) 114
10.3 活动记录 115
10.3.1 运行机制 115
10.3.2 使用时机 116
10.3.3 例:一个简单的Person类
(Java) 116
10.4 数据映射器 118
10.4.1 运行机制 119
10.4.2 使用时机 122
10.4.3 例:一个简单的数据
映射器(Java) 123
10.4.4 例:分离查找器(Java) 127
10.4.5 例:创建一个空对象
(Java) 130
第11章 对象-关系行为模式 132
11.1 工作单元 132
11.1.1 运行机制 132
11.1.2 使用时机 136
11.1.3 例:使用对象注册的工作
单元(Java) 137
11.2 标识映射 140
11.2.1 运行机制 141
11.2.2 使用时机 143
11.2.3 例:标识映射中的方法
(Java) 143
11.3 延迟加载 144
11.3.1 运作机制 144
11.3.2 使用时机 146
11.3.3 例:延迟初始化(Java) 146
11.3.4 例:虚代理(Java) 147
11.3.5 例:使用值保持器(Java) 148
11.3.6 例:使用重影(C#) 149
第12章 对象-关系结构模式 156
12.1 标识字段 156
12.1.1 工作机制 156
12.1.2 使用时机 159
12.1.3 进一步阅读 160
12.1.4 例:整型键(C#) 160
12.1.5 例:使用键表(Java) 161
12.1.6 例:使用组合键(Java) 163
12.2 外键映射 172
12.2.1 运行机制 173
12.2.2 使用时机 175
12.2.3 例:单值引用(Java) 176
12.2.4 例:多表查询(Java) 178
12.2.5 例:引用集合(C#) 179
12.3 关联表映射 182
12.3.1 运行机制 182
12.3.2 使用时机 183
12.3.3 例:雇员和技能(C#) 183
12.3.4 例:使用直接的SQL
(Java) 186
12.3.5 例:用一次查询查多个
雇员(Java) 189
12.4 依赖映射 193
12.4.1 运行机制 193
12.4.2 使用时机 194
12.4.3 例:唱片和曲目(Java) 195
12.5 嵌入值 197
12.5.1 运行机制 198
12.5.2 使用时机 198
12.5.3 进一步阅读 199
12.5.4 例:简单值对象(Java) 199
12.6 序列化LOB 200
12.6.1 运行机制 201
12.6.2 使用时机 201
12.6.3 例:在XML中序列化一个
部门层级(Java) 202
12.7 单表继承 204
12.7.1 运行机制 205
12.7.2 使用时机 205
12.7.3 例:运动员的单表(C#) 206
12.7.4 从数据库中加载对象 207
12.8 类表继承 210
12.8.1 运行机制 211
12.8.2 使用时机 211
12.8.3 进一步阅读 211
12.8.4 例:运动员和他们的
家属(C#) 212
12.9 具体表继承 216
12.9.1 运行机制 217
12.9.2 使用时机 218
12.9.3 例:具体运动员(C#) 219
12.10 继承映射器 223
?12.10.1 运行机制 224
?12.10.2 使用时机 225
第13章 对象-关系元数据映射
?模式 226
13.1 元数据映射 226
13.1.1 运行机制 226
13.1.2 使用时机 228
13.1.3 例:使用元数据和反射
(Java) 228
13.2 查询对象 234
13.2.1 运行机制 234
13.2.2 使用时机 235
13.2.3 进一步阅读 236
13.2.4 例:简单的查询对象
(Java) 236
13.3 资源库 238
13.3.1 运行机制 239
13.3.2 使用时机 240
13.3.3 进一步阅读 241
13.3.4 例:查找一个人所在的
部门(Java) 241
13.3.5 例:资源库交换策略
(Java) 242
第14章 Web表现模式 243
14.1 模型-视图-控制器 243
14.1.1 运行机制 243
14.1.2 使用时机 245
14.2 页面控制器 245
14.2.1 运行机制 246
14.2.2 使用时机 247
14.2.3 例:Servlet控制器和JSP
视图的简单演示(Java) 247
14.2.4 例:使用JSP充当处理
程序(Java) 249
14.2.5 例:代码隐藏的页面
控制器(C#) 252
14.3 前端控制器 254
14.3.1 运行机制 255
14.3.2 使用时机 256
14.3.3 进一步阅读 257
14.3.4 例:简单的显示(Java) 257
14.4 模板视图 259
14.4.1 运行机制 260
14.4.2 使用时机 263
14.4.3 例:分离的控制器,使用
JSP充当视图(Java) 263
14.4.4 例:ASP.NET服务器
页面(C#) 265
14.5 转换视图 268
14.5.1 运行机制 268
14.5.2 使用时机 269
14.5.3 例:简单的转换(Java) 269
14.6 两步视图 271
14.6.1 运行机制 271
14.6.2 使用时机 272
14.6.3 例:两阶XSLT(XSLT) 276
14.6.4 例:JSP和定制标记
(Java) 278
14.7 应用控制器 282
14.7.1 运行机制 283
14.7.2 使用时机 284
14.7.3 进一步阅读 284
14.7.4 例:状态模型应用控制器
(Java) 284
第15章 分布模式 289
15.1 远程外观 289
15.1.1 运行机制 290
15.1.2 使用时机 292
15.1.3 例:使用Java语言的
会话bean来作为远程
外观(Java) 293
15.1.4 例:Web Service(C#) 295
15.2 数据传输对象 300
15.2.1 运行机制 300
15.2.2 使用时机 303
15.2.3 进一步阅读 304
15.2.4 例:传输唱片信息
(Java) 304
15.2.5 例:使用XML实现序列化
(Java) 308
第16章 离线并发模式 310
16.1 乐观离线锁 310
16.1.1 运行机制 310
16.1.2 使用时机 313
16.1.3 例:领域层与数据映射器
(Java) 314
16.2 悲观离线锁 317
16.2.1 运行机制 318
16.2.2 使用时机 321
16.2.3 例:简单锁管理对象
(Java) 321
16.3 粗粒度锁 326
16.3.1 运行机制 326
16.3.2 使用时机 328
16.3.3 例:共享的乐观离线锁
(Java) 328
16.3.4 例:共享的悲观离线锁
(Java) 333
16.3.5 例:根对象乐观离线锁
(Java) 333
16.4 隐含锁 334
16.4.1 运行机制 335
16.4.2 使用时机 335
16.4.3 例:隐含的悲观离线锁
(Java) 336
第17章 会话状态模式 338
17.1 客户会话状态 338
17.1.1 运行机制 338
17.1.2 使用时机 339
17.2 服务器会话状态 339
17.2.1 运行机制 340
17.2.2 使用时机 341
17.3 数据库会话状态 342
17.3.1 运行机制 342
17.3.2 使用时机 343
第18章 基本模式 344
18.1 入口 344
18.1.1 运行机制 345
18.1.2 使用时机 345
18.1.3 例:私有消息服务的入口
(Java) 346
18.2 映射器 349
18.2.1 运行机制 349
18.2.2 使用时机 350
18.3 层超类型 350
18.3.1 运行机制 350
18.3.2 使用时机 350
18.3.3 例:领域对象(Java) 350
18.4 分离接口 351
18.4.1 运行机制 352
18.4.2 使用时机 352
18.5 注册表 353
18.5.1 运行机制 353
18.5.2 使用时机 355
18.5.3 例:单例注册表(Java) 355
18.5.4 例:线程安全的注册表
(Java) 357
18.6 值对象 357
18.6.1 运行机制 358
18.6.2 使用时机 358
18.7 货币 359
18.7.1 运行机制 359
18.7.2 使用时机 361
18.7.3 例:货币类(Java) 361
18.8 特殊情况 365
18.8.1 运行机制 366
18.8.2 使用时机 366
18.8.3 进一步阅读 366
18.8.4 例:一个简单的空对象
(C#) 366
18.9 插件 367
18.9.1 运行机制 368
18.9.2 使用时机 369
18.9.3 例:ID生成器(Java) 369
18.10 服务桩 371
?18.10.1 运行机制 372
?18.10.2 使用时机 372
?18.10.3 例:销售税服务(Java) 372
18.11 记录集 374
?18.11.1 运行机制 375
?18.11.2 使用时机 376
参考文献 377
大师经典之作
本书是世界有名软件开发大师Martin Fowler的经典作品之一。
40余种模式总结
几乎适用于任何企业应用平台。本书曾荣获《软件开发》杂志图书类的生产效率奖和读者选择奖。
以实践为导向
为每种模式给出了使用方法和实现信息,并配以详细的Java代码或C#代码示例。
经久不衰
畅销20余年。尽管技术本身存在变化,但基本的设计思想并没有太多变化,这些思想可以加以适当调整,用来解决那些共同的问题。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
