讀完這19本經典,成爲優秀架構師其實也不難

Markdown

數人云以前給你們分享了《成爲「偉大」程序員須要學會的9種「姿式」》對於想轉型成爲架構師的童鞋們來講最急缺的是什麼呢?固然是經驗和實踐案例,數人云今天精挑細選了19本架構師必讀經典,想往這個方向發展的小夥伴千萬不能錯過。html

軟件架構已經成爲每一個軟件項目的重要組成部分,在構建一個可靠的軟件體系結構失,能夠選擇系統的重要部分,考慮這些部分如何組合在一塊兒,並在設計這些系統時作出關鍵的決策,它是任何軟件開發項目的基礎。前端

高級開發和軟件架構師之間存在着巨大的差別,做爲一名架構師,須要更多的經驗來設計最終的解決方案。程序員

軟件架構理論與實踐一樣重要,所以本文爲軟件開發團隊和架構師推薦了一份今年最好的軟件架構書籍列表,這些書籍對於理解並有效地應用軟甲架構原則在實際的項目上很是有價值。數據庫

Markdown

書名:《Beyond Software Architecture: Creating and Sustaining Winning Solutions》

做者:Luke Hohmann後端

本書爲開發人員提供了可使用的實用技術來提升生產力,經過幾個合乎邏輯的章節,涵蓋了典型的架構問題,例如:可移植性、可用性、性能、分層、API設計和安全性,以及其餘有價值的材料注入業務和產品管理方面的軟件架構,這是經常被忽略或者遺忘的,本書提供了關於現實世界中建立成功應用解決方案的寶貴簡介和經驗。設計模式

Markdown

書名: 《Domain-Driven Design: Tackling Complexity in the Heart of Software》安全

做者:Eric Evans數據結構

這是一本很棒的書,關於如何讓應用的設計與正在解決的問題領域模型相匹配,Eric認爲,學習相關的問題領域要在項目結束時如同最初同樣,因此重構是他技術的一個重要部分。架構

本書爲讀者提供了一種系統的領域驅動設計方法以及一套普遍的設計最佳實踐,基於經驗的技術和基本原則,促進面向複雜領域的軟件項目開發,本書包含了許多基於實際項目的例子,用以說明域驅動設計在現實軟件開發中的應用。併發

Markdown

書名: 《97 Things Every Software Architect Should Know: Collective Wisdom from the Experts》

做者:Richard Monson-Haefel

在這本真正獨特的技術書籍中,一些軟件架構師在關鍵的開發問題上提出了一些寶貴的意見,這些意見已經超越了技術自己的價值。包括Neal Ford、Michael Nygard在內的40多位知名架構師,在本書中根據其自身經驗讓開發者瞭解如何消除複雜性,加強能力。像要成爲一名成功的軟件架構師,須要精通業務和技術,本書會告訴讀者頂級架構師都認爲哪些東西纔是最重要的。

Markdown

書名:《Enterprise Integration Patterns Designing, Bui**lding, and Deploying Messaging Solutions》

做者:Gregor Hohpe、Bobby Woolf

Markdown

書名:《Software Architecture in Practice 》

做者:Len Bass、Paul Clements、Rick Kazman

下載連接:http://www.ithov.com/book/pro...

本書着重於軟件體系結構中的關鍵主題:「ilities」、「Patterns/Styles」,記錄體系結構和評估體系結構,做者分享他們自身的經驗,涵蓋了設計、制定和驗證系統的基本技術主題,還強調了大型系統設計的業務上文的重要性。根據不一樣的案例研究,描述成功的軟件架構是什麼樣的。

Markdown

書名:《Design Patterns: Elements of Reusable Object-Oriented Software 》

做者:Erich Gamma、Ralph Johnson、John Vlissides、Richard Helm、Grady Booch

本書的做者們,對於面向對象軟件的設計頗有經驗,爲常見的設計問題提供了簡單但又強大的解決方案,介紹了23種模式,容許設計人員建立更靈活、優雅、最終可重用的設計,而沒必要從新發現設計方案自己,經過本書,能夠了解這些重要的模式如何適應軟件開發過程,以及如何利用它們來最有效地解決設計問題。

Markdown

書名: 《The Process of Software Architecting》

做者: Peter Eeles、Peter Cripps

任何成功的軟件系統都離不開好的軟件架構,有效地架構須要清楚地瞭解組織角色、工做、執行的活動,以及執行的最佳順序。在本書中能夠找到如下問題的答案,在典型的軟件開發項目中,架構師處於什麼角色?軟件架構文檔如何知足不一樣利益相關者的需求?可重用資產的適用性在設計的過程當中,架構師的角色對於需求定義、體系結構的推導等等。

Markdown

書名:《Just Enough Software Architecture: A Risk-Driven Approach》

做者:George H. Fairbanks

這是軟件開發人員的實用指南,與其餘軟件架構書籍不一樣,它交到風險驅動的架構,本書旨在使架構與全部軟件開發人員相關聯,開發人員須要瞭解如何使用約束做爲指導Rails來確保預期的結果,以及看似微笑的更改如何影響系統的屬性。

本書會讓讀者清楚本身在作什麼,除此以外,還強調工程學,提供了一些實用性的建議,軟件設計決策影響體系結構,反之亦然,本書的方法經過描述具備不一樣抽象層次的模型,從架構到數據結構設計。

Markdown

書名:《Software Architecture Patterns》

做者:Mark Richards

Mark Richards是一位經驗豐富的軟件架構師,其在應用、集成和企業架構方面具備至關大的成就,自1983年起,就活躍在軟件行業,是o'reilly書籍和視頻的做者和主持人。

任何應用程序或系統的成功都取決於使用的體系結構模式,經過描述體系結構的整體特徵,這些模式不只指導設計人員和開發人員如何設計組件,還決定了這些組件應該如何交互的方式,本書包含了基於幾個體系結構和軟件開發質量屬性的每一個模式分析,在本書中,讀者能夠看到更多關於分層架構、事件驅動架構、微內核體系結構、微服務體系結構、基於空間的體系結構等相關信息。

Markdown

書名:《Continuous Delivery: Reliable Software Releases Through Build,Test,and Deployment Automation》

做者:Jez Humble、David Farley

將應用發佈給用戶一般是一個痛苦、危險和耗時的過程,本書闡述了使更高質量、有價值的功能向用戶提供快速、增量交付的原則和技術實踐,經過對構建、部署和測試過程的自動化,以及開發人員、測試人員和運維之間的協做,交付團隊能夠在幾個小時的時間內發佈變動,無論項目的規模大小,或代碼庫的複雜性。

Jez Humble首先提出了一個快速、可靠、低風險的交付過程基礎,而後他們引入了部署管道,這是一個用於管理全部變動的自動化過程,從簽入到發佈,他們還討論了支持持續交付所需的生態系統,從基礎設施、數據和配置管理到治理,做者介紹了一些技術,包括自動化的基礎設施管理和數據遷移,以及虛擬化的使用,對於每一個人,他們回顧關鍵問題,肯定最佳實踐,並演示如何下降風險,覆蓋範圍包括:自動化建設的各個方面,集成、測試和部署軟件,實現部署管道在團隊和組織水平,改善合做開發人員、測試人員和運維團隊之間的協做,逐步發展特性在大型的分佈式團隊,實施一個有效的配置管理策略,自動化驗收測試,從分析到實現,測試能力和其餘非功能性需求和實現部署的零宕機版本,此外,它們還討論瞭如何管理基礎設施,數據,組件和依賴關係以及如何導航風險管理、聽從性和審計。

Markdown

書名:《 Scalability Rules: 50 Principles for Scaling Web Sites》

做者:Martin L. Abbott、Michael T. Fisher

對於任何處理在線業務的人來講,這都是必不可少的讀物,本書確保了戰略設計原則適用於平常挑戰,它是設計和構建可伸縮系統的一個有洞察力的、實用指南。因爲現代系統的複雜性,可伸縮性的考慮應該是體系結構和實現過程當中不可或缺的一部分。

Martin L. Abbott、Michael T. Fisher將可伸縮性從「Black Art」轉變爲一套現實的、與技術無關的最佳實踐,用於支持幾乎任何環境中的超增加,包括前端和後端系統,對於架構師來講,他們提供了關於建立和評估設計的強有力新看法。對於開發人員,他們共享特定的技術來處理從數據庫到狀態的全部事情,對於管理者來講,他們在目標制定、決策制定和與技術團隊的交互方面提供了寶貴的幫助,不管你的角色是什麼,均可覺得設定優先級和最大限度找到實際的利益指導。

Markdown

書名:《Microservices vs Service-Oriented Architecture》

做者: Mark Richards

微服務架構近來得到了普遍的關注,它聽起來很像面向服務的體系結構,這兩種架構都專一於將大型單片應用程序拆分爲小型獨立服務的結合,而且都有簡化開發的承諾,讀者能夠在本書中找到關鍵問題的答案:是什麼讓它們不同凡響?微服務真的只是SOA作得對嗎?這兩種架構的不一樣之處以及微服務真的比SOA好嗎?

Markdown

書名:《Software Architecture: Foundations、Theory、and Practice》

做者: R. N. Taylor、N. Medvidovic、E. M. Dashofy

這是一本關於軟件架構很是實用的書籍,但若是你不喜歡以「學術」風格寫的書,這本書不適合你,軟件架構是開發大型、實用的軟件密集型應用程序的基礎,本書不關注一種方法、代碼、工具、或者過程,而是普遍地調查軟件架構技術,當培訓者和專業人員能夠選擇合適的工具來作手頭的工做。

Markdown

書名:《Essential Software Architecture》

做者:Ian Gorton

現在,軟件行業充斥着「技術架構師」和「首席架構師」之類的職位,但許多人都以爲「架構」是專業軟件開發中最被濫用和最不理解的術語之一,Gorton試圖解決這一困境,它簡明地描述了做爲一個軟件架構師所須要知識的基本要素和關鍵技能,這些解釋好漢了架構思考、實踐和支持技術的要點,它們從對結構和質量屬性的通常理解,從中間件組件和麪向服務的體系結構到最新的技術,如模型驅動的體系結構、軟件產品線、面向方面的設計和語義Web,這些都影響了將來的軟件系統。

Markdown

書名:《Refactoring in Large Software Projects: Performing Complex Restructurings Successfully》

做者:Martin Lippert、Stephen Roock

重構是大型軟件項目的一個重要主題,特別是在遵循敏捷方法的項目中,考慮到體系結構隨着需求的變化而變化,它提供了真實重構項目的真實體驗,並展現瞭如何重構軟件以確保它是高效、新鮮和可適應的。

Markdown

書名:《12 Essential Skills for Software Architects》

做者:Dave Hendricksen

對於許多開發人員來講,這些技能並非與生俱來的,他們不多在正式的培訓中獲得解決問題的方案,如今,經驗豐富的軟件設計師Dave Hendricksen會幫助填補這一空白,讓組織影響更大,並迅速轉移到職業生涯的下一個層次,對於架構師來講,僅僅擁有技術技能是不夠的,軟件能一樣重要的是做爲一名架構師有效地生活,這本書對架構師所須要的12項技能進行了清晰而詳細的討論,若是你是一名開發者,並渴望成爲一名叫架構師,本書會對你非技術技能有所幫助。

Markdown

書名:《Reactive Design Patterns》

做者:Roland Kuhn Dr、Brian Hanafee、Jamie Allen

反應式設計模式,用於構建具備彈性、響應性的消息驅動分佈式系統,本書中,讀者能夠獲得消息傳遞、流控制、資源管理和併發性的模式以及相似於測試友好設計之類的實際問題解決方案,全部的模式都包括試用Scala和Akka的具體案例。

Markdown

書名:《Object-Oriented Design Heuristics》

做者:Arthur J. Riel

最後一本書是關於「面向對象設計啓發法」,這是一本優秀的面向對象開發手冊,提供疼的基礎經驗指導方針,幫助開發人員作出正確的設計決策,本書爲了解面向對象開發的基礎知識的讀者提供了下一步的目標,須要知道他們是否作對了,並作出正確的選擇。

以上是小數給你們推薦的19本架構師必讀書籍,固然學無止境,關於應用開發文檔的另外一個主要來源是GitHub,不只能夠找到關於架構方面的文檔,還能夠找到關於Docker、彈性搜索、TDD、DDD、BDD、CI等等。

原文做者: DZone
原文連接:https://www.tuicool.com/artic...

相關文章
相關標籤/搜索