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

“四人组”在《设计模式:可复用面向对象软件的基础》一书中讨论了通用的设计模式,而这本期待已久的书,则在应用领域模式方面做了等同的工作。

世界级软件开发大师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 个部分;
● 构建稳固的测试,以支持重构工作的开展;
● 理解重构过程的权衡取舍以及重构存在的挑战等。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,书中所蕴涵的思想和精华,值得反复咀嚼,而且往往能够常读常新。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84677.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信