前言
卓越的软件架构师从何而来?
所有程序员都有成为架构师的潜力,只要掌握了架构师的思维方式和工作方法,你也能成长为架构师。
本文教你如何像架构师那样思考问题、理解需求、设计架构、评估结果、编写文档。
本文不但通过真实案例讲解架构设计流程和经验,还总结了丰富的架构师工作原则和技巧,尤其适合广大程序员进阶学习。同时也适合产品经理、测试人员、运维人员和其他行业从业者深入理解软件架构设计工作。
本文将给广大程序员的帮助:
- 成为出色的技术领导者
- 在快速迭代的敏捷开发中开展架构设计
- 避免项目波动和返工
- 带领团队共同成长
接下来就带大家一步步来学习本文具体内容讲解,希望本文能够得到大家的喜欢,多多转发+关注!
目录
主要内容
本文分为三部分。第一部分与第二部分建议从头至尾通读,第三部分则便于参考和检索。
第一部分介绍软件架构的基础知识和架构师必备的设计思维。
第1章成为软件架构师;除了编程,架构师还有其他职责。他们要从工程角度定义问题。他们要将软件系统分解成多个可实现的模块,同时又要兼顾大局、确保系统整体有效工作。他们要在软件质量属性(quality attributes,是软件的非功能性需求)之间进行权衡,并管控不可避免的技术债务。更重要的是,他们要锻炼和提升整个团队的架构设计能力,因为最好的团队里人人都应该是架构师。
本章讲解架构师要做些什么。你将明白为什么理解软件架构可以让你成为更优秀的程序员和技术领导者。我还会介绍如何开始架构师的职业生涯。
第2章设计思维基础;无论是从头设计架构,还是改善已有的软件系统,我们需要的架构其实就在那里,等待我们去发现( to be discovered,TBD)。架构设计总是一边摸索要解决的问题,一边探求解决方案。
为了完成这项任务,你需要学习一种分析和解决问题的创新方法,即以人为本的设计思维。将注意力放在受设计决策影响的人身上,可以帮助你理清必须解决的问题。这种设计思维强调我们的目标是打造帮助他人的软件,唯其如此我们的方案才能落地。
本章讲解如何在架构设计中运用设计思维。我们首先介绍设计思维的四条基本原则,然后学习用思维模式确保架构设计朝着正确的方向前进。最后,学习挑选合适的思维模式。
第二部分讲解架构师需要掌握的核心技能和知识。
第3章制定设计策略;架构设计很容易陷入混乱无序的状态。哪怕软件系统充满了各种不确定性,我们也必须制订计划。凡事预则立,只有凭借稳固的设计策略,才能应付各种不确定性。
设计思维擅长为复杂问题寻找解决方案,它不是一蹴而就地解决问题,而是强调学习和实验的重要性。有人认为检验架构要先将其实现,但我们的做法是在设计过程中逐步验证架构的各个部分,同时运用思维模式和TDC 循环确定下一步做什么。
第2章讲解了设计思维的基本原则和用法。本章将继续学习如何根