豆瓣评分
内容简介 · · · · · ·
本书是一部系统总结企业级软件架构方法、思想和模式的著作,被誉为“软件架构领域最重要的10本书之一”。原书被翻译为葡萄牙语、波兰语、德语、俄语、韩语、日语、简体中文等多种语言,畅销不衰,并曾获得美国《软件开发》杂志颁发的“Jolt生产效率奖”。
全书分为两大部分。第一部分(第1~8章)介绍企业应用架构领域需要掌握的关键知识和可能遇到的问题,并给出了这些问题的初步解决方案;第二部分(第9~18章)在对这些解决方案进行细化的同时,总结出了51种实用的软件架构模式,每个模式都详细给出了使用场景、解决方案、UML表示等。
这些模式从不同层次、不同侧面展示了什么是好的企业应用架构,以及如何设计好的企业应用架构,不管企业应用开发的技术和平台如何变化,这些模式始终能在企业应用架构中发挥重要的作用,是不可或缺的内功心法。
目录 · · · · · ·
译者序
前言
模式列表
引言
0.1 架构
0.2 企业应用
0.3 企业应用的种类
0.4 关于性能的考虑
0.5 模式
第一部分 表述
第1章 分层
1.1 企业应用中层次的演化
1.2 三个基本层次
1.3 为各层选择运行环境
第2章 组织领域逻辑
2.1 抉择
2.2 服务层
第3章 映射到关系数据库
3.1 架构模式
3.2 行为问题
3.3 读取数据
3.4 结构映射模式
3.5 建立映射
3.6 使用元数据
3.7 数据库连接
3.8 其他问题
3.9 进一步阅读
第4章 Web表示层
4.1 视图模式
4.2 输入控制器模式
4.3 进一步阅读
第5章 并发
5.1 并发问题
5.2 执行语境
5.3 隔离与不变性
5.4 乐观并发控制和悲观并发控制
5.5 事务
5.6 离线并发控制的模式
5.7 应用服务器并发
5.8 进一步阅读
第6章 会话状态
6.1 无状态的价值
6.2 会话状态
6.3 存储会话状态的方法
第7章 分布策略
7.1 分布对象的诱惑
7.2 远程接口和本地接口
7.3 必须使用分布的情况
7.4 关于分布边界
7.5 分布接口
第8章 通盘考虑
8.1 从领域层开始
8.2 深入到数据源层
8.3 表示层
8.4 一些关于具体技术的建议
8.5 其他分层方式
第二部分 模式
第9章 领域逻辑模式
9.1 事务脚本
9.2 领域模型
9.3 表模块
9.4 服务层
第10章 数据源架构模式
10.1 表数据入口
10.2 行数据入口
10.3 活动记录
10.4 数据映射器
第11章 对象-关系行为模式
11.1 工作单元
11.2 标识映射
11.3 延迟加载
第12章 对象-关系结构模式
12.1 标识字段
12.2 外键映射
12.3 关联表映射
12.4 依赖映射
12.5 嵌入值
12.6 序列化LOB
12.7 单表继承
12.8 类表继承
12.9 具体表继承
12.10 继承映射器
第13章 对象-关系元数据映射模式
13.1 元数据映射
13.2 查询对象
13.3 资源库
第14章 Web表现模式
14.1 模型-视图-控制器
14.2 页面控制器
14.3 前端控制器
14.4 模板视图
14.5 转换视图
14.6 两步视图
14.7 应用控制器
第15章 分布模式
15.1 远程外观
15.2 数据传输对象
第16章 离线并发模式
16.1 乐观离线锁
16.2 悲观离线锁
16.3 粗粒度锁
16.4 隐含锁
第17章 会话状态模式
17.1 客户会话状态
17.2 服务器会话状态
17.3 数据库会话状态
第18章 基本模式
18.1 入口
18.2 映射器
18.3 层超类型
18.4 分离接口
18.5 注册表
18.6 值对象
18.7 货币
18.8 特殊情况
18.9 插件
18.10 服务桩
18.11 记录集
参考文献
· · · · · · (收起)
前言
模式列表
引言
0.1 架构
0.2 企业应用
0.3 企业应用的种类
0.4 关于性能的考虑
0.5 模式
第一部分 表述
第1章 分层
1.1 企业应用中层次的演化
1.2 三个基本层次
1.3 为各层选择运行环境
第2章 组织领域逻辑
2.1 抉择
2.2 服务层
第3章 映射到关系数据库
3.1 架构模式
3.2 行为问题
3.3 读取数据
3.4 结构映射模式
3.5 建立映射
3.6 使用元数据
3.7 数据库连接
3.8 其他问题
3.9 进一步阅读
第4章 Web表示层
4.1 视图模式
4.2 输入控制器模式
4.3 进一步阅读
第5章 并发
5.1 并发问题
5.2 执行语境
5.3 隔离与不变性
5.4 乐观并发控制和悲观并发控制
5.5 事务
5.6 离线并发控制的模式
5.7 应用服务器并发
5.8 进一步阅读
第6章 会话状态
6.1 无状态的价值
6.2 会话状态
6.3 存储会话状态的方法
第7章 分布策略
7.1 分布对象的诱惑
7.2 远程接口和本地接口
7.3 必须使用分布的情况
7.4 关于分布边界
7.5 分布接口
第8章 通盘考虑
8.1 从领域层开始
8.2 深入到数据源层
8.3 表示层
8.4 一些关于具体技术的建议
8.5 其他分层方式
第二部分 模式
第9章 领域逻辑模式
9.1 事务脚本
9.2 领域模型
9.3 表模块
9.4 服务层
第10章 数据源架构模式
10.1 表数据入口
10.2 行数据入口
10.3 活动记录
10.4 数据映射器
第11章 对象-关系行为模式
11.1 工作单元
11.2 标识映射
11.3 延迟加载
第12章 对象-关系结构模式
12.1 标识字段
12.2 外键映射
12.3 关联表映射
12.4 依赖映射
12.5 嵌入值
12.6 序列化LOB
12.7 单表继承
12.8 类表继承
12.9 具体表继承
12.10 继承映射器
第13章 对象-关系元数据映射模式
13.1 元数据映射
13.2 查询对象
13.3 资源库
第14章 Web表现模式
14.1 模型-视图-控制器
14.2 页面控制器
14.3 前端控制器
14.4 模板视图
14.5 转换视图
14.6 两步视图
14.7 应用控制器
第15章 分布模式
15.1 远程外观
15.2 数据传输对象
第16章 离线并发模式
16.1 乐观离线锁
16.2 悲观离线锁
16.3 粗粒度锁
16.4 隐含锁
第17章 会话状态模式
17.1 客户会话状态
17.2 服务器会话状态
17.3 数据库会话状态
第18章 基本模式
18.1 入口
18.2 映射器
18.3 层超类型
18.4 分离接口
18.5 注册表
18.6 值对象
18.7 货币
18.8 特殊情况
18.9 插件
18.10 服务桩
18.11 记录集
参考文献
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
任何对象可能作为远程对象使用时,经常需要一个粗粒度的接口来减少完成某些任务所需要的调用次数。这不仅会影响你的方法调用,同样还会影响你的对象。现在,一个调用中就会包括访问和更改订单及订单的功能,而不会像以前那样分开调用,这会完全影响你的对象结构。你将不得不放弃小粒度对象和小粒度方法带来的清晰意图和小粒度控制所带来的好处。编程变得困难,并且会使生产率下降。 (查看原文) —— 引自章节:远程外观 (Remote Facade) -
一个远程外观是一个粗粒度的外观(facade),它建立在大量的细粒度对象之上。所有细粒度对象都没有远程接口,并且远程外观不包括领域逻辑。远程外观所要完成的功能是把粗粒度的方法转换到低层的细粒度对象上。 任何外观都应该是一层薄薄的皮肤并且只负责很小一部分责任。 (查看原文) —— 引自章节:远程外观 (Remote Facade)
> 全部原文摘录
企业应用架构模式的书评 · · · · · · ( 全部 35 条 )
仍然很有价值的一本书
我是带着一些架构问题去看这本书的,但却意外的收获了许多其他的东西。 诚如许多书评已经指出的,这本书放在hibernate出现之前,那是相当的nb的。orm之中的许多设计细节问题这本书都说的很清楚。但到了现在,orm已经十分成熟,这些设计思考就逐渐的失去了意义。这已经可以让我...
(展开)
那为什么不先建立数据模型呢?
尽管首先建立模型是一种合理的方法,但这个建议仅仅适用于短的迭代周期内。花费6个月的时间建立一个没有数据库的领域模型,并且决定一旦完成就持久化它,这是一件非常冒险的事情。危险在于,设计结果会因为迫切的性能问题而需要进行很多重构来修复。相反,应该为每一次迭代建造...
(展开)
> 更多书评 35篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部6 )
-
机械工业出版社 (2004)8.7分 589人读过
-
Addison-Wesley Professional (2002)8.7分 91人读过
-
机械工业出版社 (2010)8.4分 454人读过
-
中国电力出版社 (2004)8.8分 85人读过
以下书单推荐 · · · · · · ( 全部 )
- EA融合企业与系统的认知----数字化支柱Ⅰ (小毛叔)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有12人想读,手里有一本闲着?
订阅关于企业应用架构模式的评论:
feed: rss 2.0
还没人写过短评呢