若想進階為軟體架構師,這10本書必須讀!
軟體架構已經成為每一個軟體專案的重要組成部分,在構建可靠的軟體體系結構時,明確該系統最重要的組成部分,考慮這些部分如何組合在一起,並在設計這些系統時做出關鍵決策,是任何軟體開發專案的基礎 。
高階開發人員和軟體架構師之間是存在巨大差異的 。作為架構師,你需要有更多的經驗才能設計出端到端解決方案。
軟體架構理論和實踐一樣重要,因此我們的軟體開發人員和架構師團隊準備了今年最好的軟體架構書籍清單!這些軟體架構書籍能夠幫你理解和有效地將軟體架構原則應用於實際軟體專案當中去
1. 《超越軟體架構》
最佳軟體架構書籍中的第一個是《超越軟體架構》。它是關於建立軟體產品的商業現實,如果你想要成為一名軟體架構師,那麼,這本書一定要去讀一讀。它提供了可以用來提高其軟體組織生產力的實用技術。
這本書涵蓋了經典架構問題,如可移植性,可用性,效能,分層,API設計和安全性,以及其他有價值的知識點,例如來自業務決策方面的軟體架構,這些都經常被忽略。本書在真實業務環境中為建立優秀軟體方案提供了深刻的見解和有用的經驗。在這裡,你可以找到開發人員可以用來提高其軟體組織生產力的實用技術。它涉及許可,部署,安裝,配置,支援等問題!
2. 《領域驅動設計》
第二名是Eric Evans的DDD,這是一本很棒的書,介紹瞭如何使軟體設計與你正在解決的問題域的心理模型相匹配。Eric認為,在專案結束時,與開始時一樣,瞭解你的問題域是非常重要的,因此重構是他技術的重要組成部分。Eric Evans提出了領域模型概念,統一了分析和設計程式設計,使得軟體能夠更靈活快速跟隨需求變化。
本書為讀者提供了一種領域驅動設計的系統化方法,提供若干個最佳的設計實踐,基於經驗的技術和基本原則,以促進面向複雜領域的軟體專案的開發,讀者將學習如何使用領域模型使複雜的開發工作更具針對性和動態性。
3. 《專案經理應該知道的97件事》
第三本是《專案經理應該知道的97件事》。在這本獨特的技術書籍中,當今成功的軟體架構師提出了超越技術的關鍵開發問題的寶貴原則。包括Neal Ford,Michael Nygard和Bill de Hora在內的四十多位建築師提供了與利益相關者溝通,消除複雜性,賦予開發人員權力以及他們從多年的實踐經驗和建議。在本書的97條原則中,你一定可以找到有用的建議。
想要成為軟體架構師,你需要掌握業務和技術。而本書就是向你介紹頂級軟體架構師多年來積累的經驗和祕訣以及他們如何處理專案。
4. 《企業繼承模式》
本書提供了一個包含65個模式的寶貴目錄,並提供了真實的解決方案。作者還包括涵蓋各種不同整合技術的示例,例如JMS,MSMQ,TIBCO 、Microsoft BizTalk、SOAP和XSL等。它還詳細探討了非同步訊息傳遞體系結構的優點和侷限性。
本書不會為企業應用整合建立商業案例,而是把重點放在如何實現應用的整合上。讀者通過本書可以學會如何整合企業應用。.如果你想知道如何管理,監控和維護訊息傳遞系統,請閱讀本書!
5. 《軟體構架實踐》
這是一本學習軟體架構的好書!它側重於軟體架構中的關鍵主題:即預想構架、建立構架、分析構架和從一個系統到多個系統。作者還分享了自己的經驗,涵蓋設計,指定和驗證系統的基本技術主題。他們還強調了設計大型系統業務環境的重要性。此外,本書還對一些新案例進行了分析,以幫助理解軟體構架如何適應商業需求。
6. 《設計模式》
本書的作者們憑藉其在面向物件軟體設計方面的寶貴經驗,為常見的設計問題提供了簡單而強大的解決方案。書中提到的23種模式使設計人員能夠建立更靈活,更優雅,最終可重複使用的設計,而無需重新發現設計解決方案。通過本書,您將瞭解這些重要模式如何適應軟體開發過程,以及如何利用它們最有效地解決你自己的設計問題。
7. 《架構實戰》
良好的軟體架構是任何成功軟體系統的基礎。一個合格的軟體架構師需要清楚地瞭解組織角色,執行的活動以及執行這些活動的最佳順序。本書從基本原理入手,介紹軟體架構設計過程中涉及的一些概念、流程、方法、用到的工作產品及可重用的資源,理論結合實踐,同時還介紹了一些可以應用到整個或部分的架構設計流程中的最佳方法。
在本書中,你將找到以下問題的答案:架構師在軟體開發專案中的角色,如何記錄軟體架構以滿足不同利益相關者的需求,架構師在需求定義方面的角色等,因此,不管你是一位資深的架構師還是一位有志於成為架構師的初級使用者,通過閱讀本書都能從中獲益。
8. 《恰如其分的軟體架構》
這是軟體開發人員的實用指南,與其他軟體架構書不同的是,它是介紹關於風險驅動的架構,作者建議根據專案面臨的風險來調整架構設計的成本,並從多個視角闡述了軟體架構的建模過程和方法,包括用例模型、概念模型、域模型、設計模型和程式碼模型等
本書將使你更加清楚自己的工作,並對工作方法和概念進行了歸類和闡述。除此之外,它強調工程。它提供了實用的建議。軟體設計決策會影響架構,反之亦然。
9. 《Software Architecture Patterns》
Mark Richards是一位經驗豐富的軟體架構師,在應用程式,整合和企業架構方面擁有豐富的經驗和專業知識。自1983年以來一直活躍在軟體行業,他也是幾本O'Reilly系列書籍的作者。
任何應用程式或系統的成功取決於你使用的體系結構模式。通過描述體系結構的整體特徵,這些模式不僅指導設計者和開發人員設計元件,還能確定這些元件應該如何互動的方式。在本書中,你將能找到有關分層體系結構,事件驅動架構,微核心架構, 微服務架構,基於空間的架構的內容。
10. 《持續交付(釋出可靠軟體的系統方法)》
Jez Humble編著的《持續交付(釋出可靠軟體的系統方法)》講述如何實現更快、更可靠、低成本的自動化軟體交付,描述瞭如何通過增加反饋,並改進開發人員、測試人員、運維人員和專案經理之間的協作來達到這個目標。
本書由三部分組成。第一部分闡述了持續交付背後的一些原則,以及支援這些原則的實踐。第二部分是本書的核心,全面講述了部署流水線。第三部分圍繞部署流水線的投入產出討論了更多細節,包括增量開發技術、高階版本控制模式,以及基礎設施、環境和資料的管理和組織治理。