软件架构基础 :架构师的 8 大核心能力

本文介绍了软件架构的基础,强调架构师的8大核心能力,包括做出架构决策、持续分析架构、紧跟技术趋势、确保合规性、积累多样化经验、掌握业务知识、提升人际交往能力和理解企业政治。架构师需要在技术、业务和人际方面都有所精通,以应对不断变化的行业需求和挑战。
摘要由CSDN通过智能技术生成

软件架构基础(Fundamentals of Software Architecture)》被誉为和《设计数据密集型应用》一样经典的后端书籍,架构师的入门指南。本篇为该书第一章的读书笔记,2021 年第一个目标就是和大家一起读完这本书。

图片

如今,全球范围内“架构师”这一头衔炒得十分火热,但没有真正的指南来帮助开发人员成为软件架构师。

这本书主要有三部分内容:基础、架构风格、技术和软技能。基础部分是关于软件体系结构的一般概念;架构风格部分介绍了不同的架构风格,并以一些架构特征标准进行评价;技术和软技能部分涵盖了很多好的概念,包括做出健康的架构决策、风险分析技术、演讲能力、管理团队关系、谈判、架构师职业规划等。

架构就是关于重要的东西......不管那是什么。—— Ralph Johnson

1. 什么是软件架构

学习架构就像学习艺术一样,读者必须要在特定的背景下去理解它。

在一个动态系统中,不存在一劳永逸的解决方案。

学习架构时,必须放在上下文中理解。架构师做的许多决定都是基于他们所处的实际情况。

例如,在 20 世纪末的主要目标是有效地利用共享资源,因为当时所有的基础设施都是昂贵的商业化产品:操作系统、服务器和数据库等等。如果你在 2002 年告诉主管,“我有一个革命性的架构好主意,每个服务都运行在自己隔离的机器上,有自己的专用数据库……(即描述今天的微服务架构)所以,我需要 50 个 Windows 的许可证,另外 30 个服务器许可证,以及至少 50 个数据库许可证。”在 2002 年想构建这样的微服务架构成本之高难以想象。然而这几年,随着开源运动的兴起,以及 DevOps 的出现,我们可以合理地构建一个如上所述的架构。

整个行业都在努力精确定义“软件架构”,有些称为系统的蓝图,有些定义为开发的路线图。本书关于架构的定义主要从四个方面:

  • 系统的结构(Structure)

  • 系统所支持的架构特性、能力(Architecture characteristics)

  • 架构决策(Architecture decisions)

  • 设计原则(Design principles)

系统的结构指的是系统实现架构风格的类型(如微服务、分层或微内核)。但仅仅通过结构来描述一个架构,并不能完全阐明一个架构。

图片

架构特性多

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值