每個架構師都應該讀的八本經典書籍

banq發表於2024-06-30


格雷戈爾·霍普在本文討論了8本被視為軟體架構師必讀的經典書籍。

以下是所提及的關鍵書籍的摘要:
1、維特魯威(公元前 20 年)的《建築學》:
雖然與軟體架構沒有直接關係,但這部古代文獻被提及,具有歷史背景和個人豐富意義。

2、《1975 年:人月神話》:
這本由 Fred Brooks 撰寫的經典著作最初出版於近半個世紀前,是“在延遲的軟體專案中增加人力只會讓專案更晚”這一著名見解的來源。即使是週年紀念版也已經有 30 年的歷史了,所以你沒有理由不讀它。

這本書因其關於在後期專案中增加人力的引言而聞名,在軟體開發領域被廣泛引用。

3、《1977 年:模式語言》:
在我們討論軟體架構和設計模式的二十年前,Christopher Alexander 就發表了可能對軟體架構實踐產生最大影響的外部工作。這本書的概念與《設計模式》非常相似。

正如書名所示,這本書不僅僅是一本模式集,而是一種由模式組成的語言,這是許多現代(技術)模式書籍所沒有正確理解的。十年前,亞歷山大出版了《形式綜合筆記》,顯然引起了作者的注意。

4、《1978 年:資料與現實》:
探討了資料建模這一主題,從一開始就提醒我們資料不是現實,其中有一句我最喜歡的臺詞:

  • “高速公路沒有漆成紅色,河流也沒有縣界從中間穿過”。

本書重點介紹資料建模,強調模型應該是對現實的有用解釋,而不是精確的表示。

這裡的關鍵點是,建模(可以是資料建模或我們繪製的架構模型)的目的不是代表現實,而是代表對現實的有用解釋。

按照喬治·博克斯的座右銘“所有模型都是錯誤的;有些是有用的”,我們不應該試圖讓模型“正確”,而應該讓它變得有用。

5、《1996 年:軟體架構》
Mary Shaw 和 Dave Garlan 合著:這本書被認為是軟體架構方面的首批定義性著作之一,介紹了架構風格,並在程式語言和抽象資料型別的背景下定位了軟體架構。

我是在 2002 年 10 月購買的這本書,我在思考這本書中介紹的設計模式和架構風格之間的區別。當時 Bobby 和我正在編寫《企業整合模式》。

作者之一Mary 告訴我,如果他們在寫這本書時對設計模式運動更熟悉,他們可能會將這些風格稱為“模式”(他們的書源自1994 年 1 月的一篇論文,大約在《設計模式》出版半年前)。

這本書最突出且最常被引用的關鍵要素是:

  • a) 將軟體架構定位為高階程式語言和抽象資料型別的演化,以及
  • b) 常見架構樣式的目錄。
  •  

這本書相對較薄(264 頁),因此它值得您花費 0.63 英寸的實體書架空間。

對我來說,比這本書更引人注目的是瑪麗在 2015 年巴爾的摩 SATURN 大會上關於軟體工程的主題演講。您可以在 YouTube 上觀看影片錄製

從亞馬遜的評論中,有兩個片段恰如其分地將這本書描述為一個寶貴的時間膠囊:

  • “非常適合用來告訴你那位無知的老闆什麼是建築。”
  • “如果您正在尋找尖端的軟體架構原則,那麼這本書絕對不適合您。”

6、《1990 年:你的燈亮著嗎?》
20 世紀 90 年代,我們迎來了一批多產且富有洞察力的作家,如 Fred Brooks、Larry Constantine、Tom DeMarco、Gerald Weinberg、Ed Yourdon 等。這些書籍從更廣泛的角度審視了軟體架構師的工作環境,例如理解問題、與利益相關者溝通或組建專案團隊。

這本書是其中我喜歡之一。從更廣闊的視角審視軟體架構師的工作環境,涵蓋了問題理解和利益相關者溝通等主題。

7、《2006 年:企業架構作為戰略》
如果說我們在 1996 年看到了第一本關於軟體架構的書籍,那麼 10 年後,隨著 Jeanne Ross、Peter Weill 和 David Robertson 的《企業架構戰略》的問世,企業架構首次出現在舞臺(或書架)上。

這本書被認為是企業架構方面的首批定義性著作之一,介紹了業務模型與架構選擇之間的關係等概念。

我們發現,企業架構領域只有 18 年的歷史,這或許可以解釋圍繞其確切範圍、目的以及與業務架構的關係的眾多爭論,後者似乎是最具爭議的(或至少是最激烈的)。

書中引用最多的成果(包括我自己)是一個矩陣,它顯示了業務模型和架構選擇之間的關係。例如,複製的業務模型(連鎖酒店、麥當勞)更注重通用應用程式平臺,而多元化業務則需要跨不同系統的整合。

我使用這個矩陣來提醒人們,技術架構和業務戰略之間的聯絡比他們想象的要緊密得多。

8、《2002 年:設計日常》
建築師也是設計師,他們可以從現實世界(尤其是咖啡店)中學到很多東西。

我最喜歡的一本關於設計的書是唐·諾曼的《設計心理學》,這本書在 Goodreads 上有43,000 個評分。

這本書雖然不是專門討論軟體的,但它提供了可應用於軟體架構的設計原則方面的寶貴見解。

讀完這本書後,你再也不會用同樣的眼光看待門把手或爐子,也許看待軟體也是如此。

最後
該文還提到了其他有影響力的書籍,如《設計模式》(1995 年)、《領域驅動設計》(2003 年)和《企業整合模式》(2003 年),這些書對於軟體架構師來說都是重要的讀物。

 

相關文章