图书介绍
企业应用架构模式PDF|Epub|txt|kindle电子书版本网盘下载
- (英)MARTINFOWLER著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111303930
- 出版时间:2010
- 标注页数:365页
- 文件大小:25MB
- 文件页数:383页
- 主题词:软件工具-程序设计-应用-企业管理
PDF下载
下载说明
企业应用架构模式PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
引言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.1ACID51
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.4关于分布边界64
7.5分布接口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一些关于具体技术的建议70
8.4.1Java和J2EE70
8.4.2.NET71
8.4.3存储过程71
8.4.4Web Services72
8.5其他分层方式72
第二部分 模式76
第9章 领域逻辑模式76
9.1事务脚本(Transaction Script)76
9.1.1运行机制76
9.1.2使用时机77
9.1.3收入确认问题78
9.1.4例:收入确认(Java)78
9.2领域模型(Domain Model)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.2使用时机90
9.3.3例:基于表模块的收入确认(C#)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表数据入口(Table Data Gateway)101
10.1.1运行机制101
10.1.2使用时机102
10.1.3进一步阅读102
10.1.4例:人员入口(C#)103
10.1.5例:使用ADO.NET数据集(C#)104
10.2行数据入口(Row Data Gateway)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.2使用时机113
10.3.3例:一个简单的Person类(Java)113
10.4数据映射器(Data Mapper)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 of Work)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.2使用时机142
11.3.3例:延迟初始化(Java)142
11.3.4例:虚代理(Java)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 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.3进一步阅读191
12.5.4例:简单值对象(Java)191
12.6序列化LOB (Serialized LOB)192
12.6.1运行机制193
12.6.2使用时机194
12.6.3例:在XML中序列化一个部门层级(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具体表继承(Concrete Table Inheritance)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元数据映射(Metadata Mapping)217
13.1.1运行机制217
13.1.2使用时机218
13.1.3例:使用元数据和反射(Java)219
13.2查询对象(Query Object)224
13.2.1运行机制225
13.2.2使用时机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章 Web表现模式233
14.1模型-视图-控制器(Model View Controller)233
14.1.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充当视图(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.2使用时机278
15.1.3例:使用Java语言的会话bean来作为远程外观(Java)278
15.1.4例:Web Service (C#)281
15.2数据传输对象(Data Transfer Object)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章 离线并发模式295
16.1乐观离线锁(Optimistic OfflineLock)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.2使用时机312
16.3.3例:共享的乐观离线锁(Java)312
16.3.4例:共享的悲观离线锁(Java)316
16.3.5例:根对象乐观离线锁(Java)317
16.4隐含锁(Implicit Lock)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.1.2使用时机322
17.2服务器会话状态(Server Session State)322
17.2.1运行机制322
17.2.2使用时机324
17.3数据库会话状态(Database Session State)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.2使用时机333
18.3.3例:领域对象(Java)333
18.4分离接口(Separated Interface)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.6.2使用时机340
18.7货币(Money)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