- ISBN:9787111746959
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:380
- 出版时间:2024-03-01
- 条形码:9787111746959 ; 978-7-111-74695-9
本书特色
大师经典之作
本书是世界著名软件开发大师Martin Fowler的经典作品之一。
40余种模式总结
几乎适用于任何企业应用平台。本书曾荣获《软件开发》杂志图书类的生产效率奖和读者选择奖。
以实践为导向
为每种模式给出了使用方法和实现信息,并配以详细的Java代码或C#代码示例。
经久不衰
畅销20余年。尽管技术本身存在变化,但基本的设计思想并没有太多变化,这些思想可以加以适当调整,用来解决那些共同的问题。
内容简介
本书是一部系统总结企业级软件架构方法、思想和模式的著作,被誉为“软件架构领域*重要的10本书之一”。原书被翻译为葡萄牙语、波兰语、德语、俄语、韩语、日语、简体中文等多种语言,畅销不衰,并曾获得美国《软件开发》杂志颁发的“Jolt生产效率奖”。 **部分(第1~8章)介绍企业应用架构领域需要掌握的关键知识和可能遇到的问题,并给出了这些问题的初步解决方案;第二部分(第9~18章)在对这些解决方案进行细化的同时,总结出了51种实用的软件架构模式,每个模式都详细给出了使用场景、解决方案、UML表示等。 这些模式从不同层次、不同侧面展示了什么是好的企业应用架构,以及如何设计好的企业应用架构,不管企业应用开发的技术和平台如何变化,这些模式始终能在企业应用架构中发挥重要的作用,是不可或缺的内功心法。
目录
译者序
前言
模式列表
引言 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
1
作者简介
马丁·福勒(Martin Fowler)
世界著名软件开发大师,Thoughtworks首席科学家,从事软件开发相关工作30余年,是全球软件架构、敏捷开发、极限编程、设计模式等多个领域的领袖人物。此外,他在面向对象分析与设计、UML、数据库、领域特定语言等领域也有深厚的积累和卓越的贡献。
知名作家,著有多部在IT领域影响深远的著作,包括(部分):
《分析模式:可复用的对象模型》
《UML精粹》
《领域特定语言》
《NoSQL精粹》
《重构:改善既有代码的设计》马丁·福勒(Martin Fowler)
世界著名软件开发大师,Thoughtworks首席科学家,从事软件开发相关工作30余年,是全球软件架构、敏捷开发、极限编程、设计模式等多个领域的领袖人物。此外,他在面向对象分析与设计、UML、数据库、领域特定语言等领域也有深厚的积累和卓越的贡献。
知名作家,著有多部在IT领域影响深远的著作,包括(部分):
《分析模式:可复用的对象模型》
《UML精粹》
《领域特定语言》
《NoSQL精粹》
《重构:改善既有代码的设计》
这些著作每一部都被奉为经典,深受读者欢迎。
此外,他还是一名知名的演说家和咨询师,通过演讲和咨询等方式,在全球范围内广泛传播他的经验和思想。
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0