企业应用架构模式

作者:Martin Fowler,与 Dave Rice、Matthew Foemmel、Edward Hieatt、Robert Mee 和 Randy Stafford 合作

2002

这本书是在 Dave Rice 和我做了一些关于 J2EE 架构的演讲之后开始的,我们反复思考我们在 C++、Forte、CORBA 和 Smalltalk 中学到的概念如何对我们在 Java 中开发好的设计至关重要。通过这本书,我想阐述许多这些模式,以帮助开发人员,无论他们使用什么平台。当我们在 2002 年开始使用 .NET 和在 2007 年开始使用 Ruby 时,这些模式被证明是非常有价值的。

这本书是一本双面书。第一部分是关于企业应用架构的简短(100 页)教程。这本书的大部分内容是对四十多个模式的参考。所有这些模式都是我在实际工作中看到的,通常是在许多不同的编程平台上。

每个模式都描述了它的工作原理和使用时间,以及 Java、C# 或两者兼有的代码示例。(我选择这些语言是因为大多数软件开发人员都能读懂它们,而不是因为对语言有任何特殊的偏爱或看法)。

主要主题领域包括:如何对企业应用程序进行分层,如何组织领域逻辑,如何将该逻辑绑定到关系数据库,如何设计基于 Web 的表示层,分布式设计中的一些重要原则,以及如何处理我们所说的“离线并发”——跨越事务的并发。

我很幸运能有一些优秀的贡献者参与这本书,最著名的是 Dave Rice——他写了大约十分之一的内容。此外,还有 Matt Foemmel、Edward Hieatt、Robert Mee 和 Randy Stafford 也参与其中。

我是在本世纪初写的这本书,但我和我的同事们发现这些模式在今天仍然适用。我们当时的假设是,软件架构中的基本问题和解决方案并没有真正发生太大变化——这在过去十年中确实如此。

自从我写这本书以来,另一个变化是许多模式现在都是由通用框架实现的(特别是在数据库交互方面)。这并不意味着开发人员不再需要了解这些内容。框架仍然需要您决定如何使用它们,如果您想做出明智的选择,了解底层模式至关重要。

勘误

延伸阅读

模式目录

本书中模式的简要概述

分布式策略章节

《软件开发》杂志将第 7 章改编成一篇文章,标题为“错误的架构”。

翻译

葡萄牙语、波兰语、德语、俄语、韩语、日语、中文(简体)。