读完这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...

相关文章
相关标签/搜索