程式員書庫(ID:OpenSourceTop) 編譯
連結:https://javarevisited.blogspot.com/2018/02/5-must-read-books-to-become-software-architect-solution.html
經常有一些高階Java工程師問我:我想要成為一名軟體架構師,要怎麼做呢?需要讀哪些書,或者有什麼資源,需要考什麼證書麼以及成為一個軟體架構師需要多少經驗等問題。本文就從軟體架構師的角度選擇了5本最好的並且是必讀的書籍
因為架構是一個非常廣的主題,它和你如今所處的工作領域息息相關,因此這些書並不能涉及到軟體設計相關的方方面面,但是卻會為你提供構建一個安全和可維護軟體所需的基本工具和技術。
一般而言,開發人員專註於底層細節,例如類和方法,而架構師則側重於高層細節,例如元件之間的互動,持久層應該如何表現,使用哪種技術,什麼是非功能性需求等等。
話不多說,一起來看看這5本書分別是哪些:
1. 《企業應用架構樣式》
這本書就不需要多說什麼了,它的經典程度和GOF不相上下,每個程式員都應該去讀一下。Martin Fowler同時也是我最喜歡的作者之一,也是軟體開發領域的一位導師。他將40多種經常出現的解決方案轉化成樣式,最終寫成這本能夠應用於任何一種企業應用平臺的、關於解決方案的、不可或缺的手冊。
這本書獲得了2003年度美國軟體開發雜誌圖書類的生產效率獎和讀者選擇獎。相信看完這本書,對於分層思想和分層中具體樣式的運用都會有大幅提高。
2. 《軟體構架實踐》
這本書作為入門學習瞭解軟體架構背後的基本概念來說是個不錯的選擇,但是內容相對有點抽象,很多程式員可能不會喜歡。你可以將本書用作教科書來瞭解軟體架構。
作者圍繞著軟體構架影響週期展開。每個週期都表明瞭軟體構架是如何產生影響的,同時它又受哪些因素的影響。軟體構架在特定的背景下發揮著關鍵性的作用。這些背景包括技術環境、專案的生命週期、組織的業務概況和架構師的專業實踐。作者還進一步延展了質量屬性,仍然以構架理念為中心(用單獨一章內容來專門介紹每個屬性),進一步拓寬了軟體構架樣式。
3. 《Clean Architecture》
來自傳奇人物Robert C. Martin(“Bob大叔”)的實用軟體架構解決方案,Bob大叔同時也是程式碼整潔之道的作者,這本書已然成為專業程式員必讀的書籍之一,而且它是2017年9月才出版,你完全不需要擔心它過時。
乾凈的架構對於每一個軟體架構師、系統分析師、系統設計師和軟體管理人員來說都是必不可少的,因此,假如你想要成為頂尖的軟體架構師這本書一定是必不可少的
4. 《微服務設計》
另一本瞭解現代,分散式軟體設計和體系結構的好書,尤其是微服務這一塊,例如Uber,Facebook,NetFlix等。如果你想離開從單一應用程式到微服務的世界,那麼這是你應該閱讀的書。
本書全面介紹了微服務的建模、整合、測試、部署和監控,透過一個虛構的公司講解瞭如何建立微服務架構。主要內容包括認識微服務在保證系統設計與組織標的統一上的重要性,學會把服務整合到已有系統中,採用遞增手段拆分單塊大型應用,透過持續整合部署微服務,等等。
5. 《領域驅動設計》
簡而言之,這本書提供了深入的架構洞察力,並幫助您在不斷變化的環境中建立強大的系統,最重要的是,Eric Evans用開發人員可以理解的語言來描述,這是非常難得
書中給出了領域驅動設計的系統化方法,並將人們普遍接受的一些實踐綜合到一起,融入了作者的見解和經驗,展現了一些可擴充套件的設計新實踐、已驗證過的技術以及便於應對複雜領域的軟體專案開發的基本原則。
軟體架構師需要具備軟體各個方面的知識,例如設計,編碼,維護,部署,支援等,並且這樣的能力只能透過不斷擴充套件自己知識儲備和經驗來獲得。上面的這些書籍都能助你一臂之力
這就是進階成為軟體架構師,技術領導者必讀的書籍。如果你是一位擁有8到10年經驗的高階Java開發人員,並且想要成為軟體架構師,那麼這些就是需要閱讀的書籍,他可以擴充套件你的視野和知識。
●輸入m獲取到文章目錄