经典重现:设计模式,一本讲解不同领域模式的实用手册

世界级软件开发大师Martin Fowler的经典作品《Analysis Patterns: Reusable Object Models》的中文版你都看过哪一年出版的?2004年?2010年?时隔这么多年,物换星移,几代程序员的记忆,一本好书,是真的可以伴你好久好久。

2020年,人民邮电出版社异步社区让这本经典书重现江湖,身为以前的你、曾经的你否会忆起你和这本书的故事,期待大家的分享。

Analysis Patterns: Reusable Object Models 2020年中文版《分析模式:可复用的对象模型》。

经典重现:设计模式,一本讲解不同领域模式的实用手册

分析模式:可复用的对象模型

业界评论

在日益增多的有关模式的文献中,本书作出了重要的贡献。它从不同领域中萃取出精妙的对象建模技术,并归纳成了一系列模式。这些领域模式将帮助你解决跨越不同领域的具有挑战性的建模问题。

—— Erich Gamma,IFA 咨询公司对象技术主管

 

本书作者为我们提供的是答案,而不只是获取答案的过程。这样,你就可以透过书中平实的文字,为建立自己的下一个业务对象模型找到实质性的内容。

——Ward Cunningham,Cunningham & Cunningham 公司

 

“四人组”(Gamma 等人)在《设计模式:可复用面向对象软件的基础》一书中讨论了通用的设计模式,而这本期待已久的书,则在应用领域模式方面做了等同的工作。对所有从事面向对象业务建模和业务过程再造的分析人员和设计人员来说,这都是一本必备读物。

——Donald G. Firesmith,Knowledge Systems 公司

本书是关于分析模式的,这些模式反映了业务过程中的概念结构,而不是软件实现。多数章节都在讨论各种领域中的模式。这些模式很难按照传统的垂直分类(制造业、金融业、医疗保健等)进行划分,因为它们常常可以用于多个领域。这些模式很重要,因为它们有助于理解人们认知世界的方式。将计算机系统的设计建立在这种认知的基础上,实际上,还要进一步改变这种认知,这样做是非常有价值的。这里说的“改变这种认知”是通过所谓“业务过程再造”(Business Process Reengineering,DPR)来实现的。

然而,概念模式是不能孤立存在的。只有当软件工程师懂得如何实现它们时,概念模型才是有用的。在本书中,我介绍了将概念模型转化为软件的模式,并讨论了这样的软件如何适用于大型系统架构。此外,本书还讨论了模式的具体实现技巧。

回忆杀

经典重现:设计模式,一本讲解不同领域模式的实用手册

截图来自豆瓣

这几个版本你看过哪一本,回答完是不是要暴露年纪啦!哈哈。

十年前的程序员如是说:

经典重现:设计模式,一本讲解不同领域模式的实用手册

截图来自豆瓣

目录

虽然这个目录可能你已经读过,小编还是要展示一下。

第1章 绪论 1
1.1 概念模型 1
1.2 模式的世界 4
1.3 本书中的模式 7
1.4 概念模型与业务过程再造 9
1.5 模式和框架 9
1.6 模式的使用 10
参考文献 12
第一部分 分析模式
第2章 责任 15
2.1 参与方(Party)模式 16
2.2 组织层级(Organization Hierarchies)模式 17
2.3 组织结构(Organization Structure)模式 18
2.4 责任(Accountability)模式 20
2.5 责任知识层(Accountability Knowledge Level)模式 21
2.6 参与方类型泛化(Party Type Generalizations)模式 23
2.7 分层责任(Hierarchic Accountability)模式 24
2.8 运作范围(Operating Scopes)模式 26
2.9 岗位(Post)模式 27
参考文献 28
第3章 观察和测量 29
3.1 数量(Quantity)模式 30
3.2 换算率(Conversion Ratio)模式 31
3.3 复合单位(Compound Units)模式 32
3.4 测量(Measurement)模式 34
3.5 观察(Observation)模式 35
3.6 子类型化观察概念(Subtyping Observation Concepts)模式 38
3.7 规程(Protocol)模式 38
3.8 双重时间记录(Dual Time Record)模式 39
3.9 被否决观察(Rejected Observation)模式 40
3.10 有效观察、假定和推测(Active Observation, Hypothesis, and Projection)模式 40
3.11 关联观察(Associated Observation)模式 41
3.12 观察过程(Process of Observation)模式 42
参考文献 45
第4章 在企业财务领域使用观察模式 46
4.1 企业片段(Enterprise Segment)模式 47
4.2 测量规程(Measurement Protocol)模式 53
4.3 范围(Range)模式 61
4.4 有范围现象(Phenomenon with Range)模式 62
4.5 使用结果框架(Using the Resulting Framework)模式 66
参考文献 67
第5章 引用对象 68
5.1 名称(Name)模式 69
5.2 标识方案(Identification Scheme)模式 70
5.3 对象合并(Object Merge)模式 72
5.4 对象等价关系(Object Equivalence)模式 74
参考文献 75
第6章 存货和会计 76
6.1 账户(Account)模式 78
6.2 会计事项(Transactions)模式 79
6.3 汇总账户(Summary Account)模式 81
6.4 备忘账户(Memo Account)模式 83
6.5 过账规则(Posting Rules)模式 84
6.6 单实例方法(Individual Instance Method)模式 85
6.7 过账规则执行(Posting Rule Execution)模式 90
6.8 多账户过账规则(Posting Rules for Many Accounts)模式 94
6.9 选择分录(Choosing Entries)模式 96
6.10 会计实务(Accounting Practice)模式 97
6.11 分录来源(Sources of an Entry)模式 99
6.12 资产负债表和损益表(Balance Sheet and Income Statement)模式 99
6.13 对应账户(Corresponding Account)模式 100
6.14 特化账户模型(Specialized Account Model)模式 101
6.15 将分录记录到多个账户(Booking Entries to Multiple Accounts)模式 103
扩展阅读 106
参考文献 107
第7章 使用会计模型 108
7.1 结构模型 109
7.2 实现该结构 111
7.3 新建电话服务 113
7.4 建立通话 115
7.5 实现基于账户的触发 116
7.6 划分日间和夜间通话 117
7.7 按时间收费 119
7.8 计税 122
7.9 结论和思考 123
参考文献 127
第8章 计划 128
8.1 提议活动和已实施活动(Proposed and Implemented Action)模式 129
8.2 已完成活动和已放弃活动(Completed and Abandoned Actions)模式 130
8.3 暂停(Suspension)模式 131
8.4 计划(Plan)模式 132
8.5 规程(Protocol)模式 134
8.6 资源分配(Resource Allocation)模式 137
8.7 结果函数和启动函数(Outcome and Start Functions)模式 140
参考文献 142
第9章 交易 143
9.1 合同(Contract)模式 143
9.2 组合(Portfolio)模式 147
9.3 报价(Quote)模式 150
9.4 场景(Scenario)模式 153
参考文献 160
第10章 衍生合同 161
10.1 远期合同(Forward Contracts)模式 162
10.2 期权(Options)模式 163
10.3 产品(Product)模式 168
10.4 子类型状态机(Subtype State Machines)模式 172
10.5 并列的应用和领域层级结构(Parallel Application and Domain Hierarchies)模式 177
参考文献 182
第11章 交易包 183
11.1 包的多重访问级别(Multiple Access Levels to a Package)模式 183
11.2 相互可见性(Mutual Visibility)模式 186
11.3 包的子类型化(Subtyping Packages)模式 189
11.4 结论和思考 190
参考文献 190
第二部分 支持模式
第12章 信息系统分层架构 193
12.1 两层架构(Two-Tier Architecture)模式 194
12.2 三层架构(Three-Tier Architecture)模式 195
12.3 展示层和应用逻辑层(Presentation and Application Logic)模式 198
12.4 数据库交互(Database Interaction)模式 203
12.5 结论和思考 206
参考文献 206
第13章 应用门面 208
13.1 一个医疗卫生领域的例子 208
13.2 门面的内容 209
13.3 通用方法 213
13.4 操作 213
13.5 类型转换 214
13.6 多个门面 216
参考文献 217
第14章 类型模型设计模板模式 218
14.1 实现关联(Implementing Associations)模式 220
14.2 实现泛化(Implementing Generalization)模式 226
14.3 对象创建(Object Creation)模式 232
14.4 对象销毁(Object Destruction)模式 233
14.5 入口点(Entry Point)模式 234
14.6 实现约束(Implementing Constraints)模式 236
14.7 其他技术的设计模板 237
参考文献 238
第15章 关联模式 239
15.1 关联类型(Associative Type)模式 240
15.2 键控映射(Keyed Mapping)模式 242
15.3 历史映射(Historic Mapping)模式 243
参考文献 247
第16章 后记 248
参考文献 249
附录A 技术和表示法 250
A.1 类型图 250
A.2 交互图 259
A.3 事件图 260
A.4 状态图 261
A.5 包图 262
参考文献 263
附录B 模式一览表 265

世界级软件开发大师Martin Fowler的经典作品《Analysis Patterns: Reusable Object Models》的中文版你都看过哪一年出版的?2004年?2010年?时隔这么多年,物换星移,几代程序员的记忆,一本好书,是真的可以伴你好久好久。

2020年,人民邮电出版社异步社区让这本经典书重现江湖,身为以前的你、曾经的你否会忆起你和这本书的故事,期待大家的分享。

Analysis Patterns: Reusable Object Models 2020年中文版《分析模式:可复用的对象模型》。

经典重现:设计模式,一本讲解不同领域模式的实用手册

分析模式:可复用的对象模型

业界评论

在日益增多的有关模式的文献中,本书作出了重要的贡献。它从不同领域中萃取出精妙的对象建模技术,并归纳成了一系列模式。这些领域模式将帮助你解决跨越不同领域的具有挑战性的建模问题。

—— Erich Gamma,IFA 咨询公司对象技术主管

 

本书作者为我们提供的是答案,而不只是获取答案的过程。这样,你就可以透过书中平实的文字,为建立自己的下一个业务对象模型找到实质性的内容。

——Ward Cunningham,Cunningham & Cunningham 公司

 

“四人组”(Gamma 等人)在《设计模式:可复用面向对象软件的基础》一书中讨论了通用的设计模式,而这本期待已久的书,则在应用领域模式方面做了等同的工作。对所有从事面向对象业务建模和业务过程再造的分析人员和设计人员来说,这都是一本必备读物。

——Donald G. Firesmith,Knowledge Systems 公司

本书是关于分析模式的,这些模式反映了业务过程中的概念结构,而不是软件实现。多数章节都在讨论各种领域中的模式。这些模式很难按照传统的垂直分类(制造业、金融业、医疗保健等)进行划分,因为它们常常可以用于多个领域。这些模式很重要,因为它们有助于理解人们认知世界的方式。将计算机系统的设计建立在这种认知的基础上,实际上,还要进一步改变这种认知,这样做是非常有价值的。这里说的“改变这种认知”是通过所谓“业务过程再造”(Business Process Reengineering,DPR)来实现的。

然而,概念模式是不能孤立存在的。只有当软件工程师懂得如何实现它们时,概念模型才是有用的。在本书中,我介绍了将概念模型转化为软件的模式,并讨论了这样的软件如何适用于大型系统架构。此外,本书还讨论了模式的具体实现技巧。

回忆杀

经典重现:设计模式,一本讲解不同领域模式的实用手册

截图来自豆瓣

这几个版本你看过哪一本,回答完是不是要暴露年纪啦!哈哈。

十年前的程序员如是说:

经典重现:设计模式,一本讲解不同领域模式的实用手册

截图来自豆瓣

目录

虽然这个目录可能你已经读过,小编还是要展示一下。

第1章 绪论 1
1.1 概念模型 1
1.2 模式的世界 4
1.3 本书中的模式 7
1.4 概念模型与业务过程再造 9
1.5 模式和框架 9
1.6 模式的使用 10
参考文献 12
第一部分 分析模式
第2章 责任 15
2.1 参与方(Party)模式 16
2.2 组织层级(Organization Hierarchies)模式 17
2.3 组织结构(Organization Structure)模式 18
2.4 责任(Accountability)模式 20
2.5 责任知识层(Accountability Knowledge Level)模式 21
2.6 参与方类型泛化(Party Type Generalizations)模式 23
2.7 分层责任(Hierarchic Accountability)模式 24
2.8 运作范围(Operating Scopes)模式 26
2.9 岗位(Post)模式 27
参考文献 28
第3章 观察和测量 29
3.1 数量(Quantity)模式 30
3.2 换算率(Conversion Ratio)模式 31
3.3 复合单位(Compound Units)模式 32
3.4 测量(Measurement)模式 34
3.5 观察(Observation)模式 35
3.6 子类型化观察概念(Subtyping Observation Concepts)模式 38
3.7 规程(Protocol)模式 38
3.8 双重时间记录(Dual Time Record)模式 39
3.9 被否决观察(Rejected Observation)模式 40
3.10 有效观察、假定和推测(Active Observation, Hypothesis, and Projection)模式 40
3.11 关联观察(Associated Observation)模式 41
3.12 观察过程(Process of Observation)模式 42
参考文献 45
第4章 在企业财务领域使用观察模式 46
4.1 企业片段(Enterprise Segment)模式 47
4.2 测量规程(Measurement Protocol)模式 53
4.3 范围(Range)模式 61
4.4 有范围现象(Phenomenon with Range)模式 62
4.5 使用结果框架(Using the Resulting Framework)模式 66
参考文献 67
第5章 引用对象 68
5.1 名称(Name)模式 69
5.2 标识方案(Identification Scheme)模式 70
5.3 对象合并(Object Merge)模式 72
5.4 对象等价关系(Object Equivalence)模式 74
参考文献 75
第6章 存货和会计 76
6.1 账户(Account)模式 78
6.2 会计事项(Transactions)模式 79
6.3 汇总账户(Summary Account)模式 81
6.4 备忘账户(Memo Account)模式 83
6.5 过账规则(Posting Rules)模式 84
6.6 单实例方法(Individual Instance Method)模式 85
6.7 过账规则执行(Posting Rule Execution)模式 90
6.8 多账户过账规则(Posting Rules for Many Accounts)模式 94
6.9 选择分录(Choosing Entries)模式 96
6.10 会计实务(Accounting Practice)模式 97
6.11 分录来源(Sources of an Entry)模式 99
6.12 资产负债表和损益表(Balance Sheet and Income Statement)模式 99
6.13 对应账户(Corresponding Account)模式 100
6.14 特化账户模型(Specialized Account Model)模式 101
6.15 将分录记录到多个账户(Booking Entries to Multiple Accounts)模式 103
扩展阅读 106
参考文献 107
第7章 使用会计模型 108
7.1 结构模型 109
7.2 实现该结构 111
7.3 新建电话服务 113
7.4 建立通话 115
7.5 实现基于账户的触发 116
7.6 划分日间和夜间通话 117
7.7 按时间收费 119
7.8 计税 122
7.9 结论和思考 123
参考文献 127
第8章 计划 128
8.1 提议活动和已实施活动(Proposed and Implemented Action)模式 129
8.2 已完成活动和已放弃活动(Completed and Abandoned Actions)模式 130
8.3 暂停(Suspension)模式 131
8.4 计划(Plan)模式 132
8.5 规程(Protocol)模式 134
8.6 资源分配(Resource Allocation)模式 137
8.7 结果函数和启动函数(Outcome and Start Functions)模式 140
参考文献 142
第9章 交易 143
9.1 合同(Contract)模式 143
9.2 组合(Portfolio)模式 147
9.3 报价(Quote)模式 150
9.4 场景(Scenario)模式 153
参考文献 160
第10章 衍生合同 161
10.1 远期合同(Forward Contracts)模式 162
10.2 期权(Options)模式 163
10.3 产品(Product)模式 168
10.4 子类型状态机(Subtype State Machines)模式 172
10.5 并列的应用和领域层级结构(Parallel Application and Domain Hierarchies)模式 177
参考文献 182
第11章 交易包 183
11.1 包的多重访问级别(Multiple Access Levels to a Package)模式 183
11.2 相互可见性(Mutual Visibility)模式 186
11.3 包的子类型化(Subtyping Packages)模式 189
11.4 结论和思考 190
参考文献 190
第二部分 支持模式
第12章 信息系统分层架构 193
12.1 两层架构(Two-Tier Architecture)模式 194
12.2 三层架构(Three-Tier Architecture)模式 195
12.3 展示层和应用逻辑层(Presentation and Application Logic)模式 198
12.4 数据库交互(Database Interaction)模式 203
12.5 结论和思考 206
参考文献 206
第13章 应用门面 208
13.1 一个医疗卫生领域的例子 208
13.2 门面的内容 209
13.3 通用方法 213
13.4 操作 213
13.5 类型转换 214
13.6 多个门面 216
参考文献 217
第14章 类型模型设计模板模式 218
14.1 实现关联(Implementing Associations)模式 220
14.2 实现泛化(Implementing Generalization)模式 226
14.3 对象创建(Object Creation)模式 232
14.4 对象销毁(Object Destruction)模式 233
14.5 入口点(Entry Point)模式 234
14.6 实现约束(Implementing Constraints)模式 236
14.7 其他技术的设计模板 237
参考文献 238
第15章 关联模式 239
15.1 关联类型(Associative Type)模式 240
15.2 键控映射(Keyed Mapping)模式 242
15.3 历史映射(Historic Mapping)模式 243
参考文献 247
第16章 后记 248
参考文献 249
附录A 技术和表示法 250
A.1 类型图 250
A.2 交互图 259
A.3 事件图 260
A.4 状态图 261
A.5 包图 262
参考文献 263
附录B 模式一览表 265

读到这里推荐软件开发大师Martin Fowler脍炙人口的《重构 改善既有代码的设计(第2版 平装版)》

经典重现:设计模式,一本讲解不同领域模式的实用手册

重构 改善既有代码的设计(第2版 平装版)

这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。
新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。
● 理解重构的过程和重构的基本原则;
● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;
● 识别代码中能指示出需要重构的地方的“坏味道”;
● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;
● 构建稳固的测试,以支持重构工作的开展;
● 理解重构过程的权衡取舍以及重构存在的挑战等。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,书中所蕴涵的思想和精华,值得反复咀嚼,而且往往能够常读常新。

经典重现:设计模式,一本讲解不同领域模式的实用手册

重构 改善既有代码的设计(第2版 平装版)

这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。
新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。
● 理解重构的过程和重构的基本原则;
● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;
● 识别代码中能指示出需要重构的地方的“坏味道”;
● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;
● 构建稳固的测试,以支持重构工作的开展;
● 理解重构过程的权衡取舍以及重构存在的挑战等。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,书中所蕴涵的思想和精华,值得反复咀嚼,而且往往能够常读常新。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值