軟體架構師或解決方案架構師必讀的五本書 - javarevisited

banq發表於2020-04-30

我收到了許多高階Java開發人員的詢問,他們渴望成為軟體架構師或解決方案架構師,他們能做什麼才能成為軟體架構師?哪些書籍,資源或認證可以提供幫助?還有一般性的詢問,例如您需要多少經驗才能成為軟體架構師等。過去,我一直向他們建議一些書籍以供閱讀,以擴充套件他們的知識庫,並從體系結構和設計的角度來看軟體。

本文是許多此類建議的彙總,從軟體架構師的角度來看,我只選了5本最好的必讀書籍。由於架構是一個非常廣泛的主題,並且高度依賴於您所工作的領域,因此不可能從上到下學習設計軟體所需的一切,但是這些書將為您提供構建健壯,安全的必要工具和技術。

它們還將幫助您建立專注於基本要素而不是細節的思維方式,這是開發人員的思維方式與架構師的思維方式之間的關鍵區別。通常,開發人員專注於類和方法等底層細節,而架構師專注於高層要素,例如元件應如何通訊,持久層應如何表現,使用哪種技術以及什麼將是非功能性的要求等,這些書在物件導向設計,良好的編碼實踐以及在軟體開發的初始階段如何避免代價高昂的錯誤方面也提供了很好的建議。

1.  企業應用程式架構的模式

這是每位程式設計師都應該閱讀的《四人幫》一書之類的經典作品。馬丁·福勒(Martin Fowler)是我最喜歡的作家之一,也是軟體開發界的一位上師,這本書清楚地說明了原因。文字寫得很好,易於閱讀。本書是對原始Java設計模式書的補充,   但從企業體系結構的角度列出了更多的模式。如果您有興趣學習程式設計師用來在網路上製作複雜的實際軟體的流行框架背後的模式和體系結構原理,則必須閱讀本書。

2. 實踐中的軟體架構 

對於那些好奇或想要了解軟體體系結構背後的基本概念和思想的人來說,這是一個良好的開端,但是它有些抽象,許多程式設計師可能會不喜歡它。我喜歡這些書的是關於歷史事件的故事和軼事。由於我堅信它的故事可以教你做什麼和不做什麼,而且我們的思想更開放,可以記住故事而不是概念,因此我發現這本書值得一提。

3.   Clean架構

這是您應該閱讀的有關軟體架構的第一本書。Bob大叔同時還是  Clean Code  和  Clean Coder的作者,這兩本書是專業程式設計師必讀的書籍,他介紹了他多年如何構建乾淨的體系結構的經驗。一種健壯,可維護且適應變化的東西。在本書中,您不僅可以學習架構軟體的基本概念,還可以學習該級別上使用的術語。您還將學習  SOLID設計原則  和編寫簡潔程式碼所需的良好編碼實踐。該書還通過比較它們的優缺點為評估不同的設計和體系結構提供了實用的建議。簡而言之,每本高階程式設計師或有志成為解決方案架構師的人都應該閱讀有關軟體體系結構的最基本的書之一。

4.  構建微服務:設計細粒度的系統

另一本關於現代分散式軟體(尤其是微服務)的設計和架構的好書,是推動這一代發展的最偉大的應用程式,例如Uber,Facebook,NetFlix等。如果您希望從單一應用程式走向世界的微服務,那麼這是您應該閱讀的書。

5. 領域驅動的設計:解決軟體核心問題的複雜性

這是此列表中最古老的書籍功能之一,許多人都認為這不是針對軟體架構師的。好吧,我同意,這不是給軟體架構師的,但絕對是想要成為軟體架構師的程式設計師必讀的文章。這對於具有3至5年經驗的軟體開發人員來說是理想的選擇,因為它提出了許多實際問題及其解決方案,而這些問題只能通過實際經驗來學習。這些問題及其解決方案可在許多不同的環境中工作,並且正在考慮設計和架構的人至少應該對此感到熟悉。

簡而言之,本書提供了深刻的體系結構見解,可以幫助您在不斷變化的環境中建立健壯的系統,最重要的是,埃裡克·埃文斯(Eric Evans)做了出色的工作,用開發人員可以理解的語言來解釋所有這些問題。軟體架構師的關鍵屬性之一是軟體各個方面的知識,例如設計,編碼,維護,部署,支援等,並且該屬性只能通過擴充套件您的知識庫和經驗來獲取。

 

相關文章