企業應用程式架構模式

馬丁·福勒,戴夫·萊斯、馬修·福梅爾、愛德華·希亞特、羅伯特·米和蘭迪·史塔福合著

2002

這本書的緣起是戴夫·萊斯和我針對 J2EE 架構進行了一些演講,並思考我們在 C++、Forte、CORBA 和 Smalltalk 中學到的概念,對於我們在 Java 中開發出良好的設計有多麼關鍵。我想要透過這本書將許多這些模式記錄下來,以協助開發人員,無論他們的平台為何。當我們在 2002 年開始使用 .NET,以及在 2007 年開始使用 Ruby 時,這些模式證明非常有價值。

這本書是一本雙面書。第一部分是關於企業應用程式架構的簡短 (100 頁) 教學課程。本書的大部分內容是對大約 40 種模式的參考。所有這些模式都是我在業界看過的,通常是在許多不同的程式設計平台上。

每個模式都說明了其運作方式和使用時機的詳細資訊,並附有 Java、C# 或兩者的程式碼範例。(我選擇這些語言是因為大多數軟體開發人員都能閱讀它們,而不是因為對語言有任何特別的結合或意見)。

主要主題領域包括:如何分層企業應用程式、如何組織網域邏輯、如何將該邏輯連結到關聯式資料庫、如何設計基於 Web 的簡報、分散式設計中的一些重要原則,以及處理我們所謂的「離線並行」- 跨越交易的並行。

很幸運地,我得到一些優秀的貢獻者協助撰寫這本書,最值得注意的是 Dave Rice,他寫了十分之一的內容。其他參與者包括 Matt Foemmel、Edward Hieatt、Robert Mee 和 Randy Stafford

我寫這本書時正值二十一世紀初期,但我和我的同事發現這些模式至今仍然適用。我們當時的假設是,軟體架構中的基本問題和解決方案並不會有太大的改變,這在過去十年來肯定是真的。

自從我寫這本書以來,另一個改變是許多模式現在都已由常見的架構實作(特別是資料庫互動)。這並不表示開發人員不再需要了解這些資料。架構仍然需要你決定如何使用它們,而如果你要做出明智的選擇,了解底層模式至關重要。

勘誤表

延伸閱讀

模式目錄

書中模式的簡要摘要

分發策略章節

SD 雜誌將第 7 章改編為雜誌文章,標題為「錯誤的架構」

翻譯

葡萄牙文、波蘭文、德文、俄文、韓文、日文、簡體中文。