13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何成为更好的软件架构师?这篇3.8Kstar的文章值得一看

几年前有人问我:「你是怎么成为一名软件架构师的?」我们就此探讨了必备技能、经验,以及储备相关知识所需的时间和精力。除此之外,我也回顾了自己走过的路、使用或尝试过的技术,以及我从那些五花八门的工作中学到的东西。

架构师技术路线图。

软件架构师是什么?

在进行深层次的探讨之前,我们先来看两个定义:

架构的「层级」

架构主要可以抽象成以下几个「层级」。不同层级所需的技能也不同。尽管对层级的分类有很多种标准,但是我最喜欢把架构分成 3 个层级:

有时候,架构师也被看做不同工作组之间的粘合剂。以下是三个例子:

软件架构师的日常

要了解架构师的必备技能,我们得先知道架构师主要做什么。我认为架构师最重要的活动包括:

注意: 架构设计是一项持续性的工作,尤其是在敏捷软件开发过程中。 因此,我们会一遍又一遍地重复这些工作 。

软件架构师必备技能

为了完成上面说的那些工作,架构师需要具备一些特定的技能。从我的个人经验、相关书籍和讨论中,我们可以将其总结为以下 10 项技能: 设计、决策、简化、编程、记录、沟通、估算、平衡、咨询、市场 。

接下来我将逐一介绍这些技能。

设计

首先最重要也最难回答的问题就是「什么是好的设计」。我将从理论和实践两个层面进行阐述。就我的经验来说,两者兼备才是最好的。那我们先说一下理论层面吧:

决策

架构师需要制定决策,指引项目甚至整个公司的正确方向。

简化

时刻记住奥卡姆剃刀原则,也就是简单即正义。我对这个原则的理解是这样的:如果你的解决方案是在做了很多假设的基础上提出来的,那么你的方案很可能是错的,也很可能会变得极其复杂。这个时候你就应该减少(简化)一些假设,以获得更好的解决方案。

编程

即使作为企业级架构师(最抽象的架构层级),你仍然应该了解开发人员的日常工作。如果你不了解开发如何完成的,那你可能会面临两个主要问题:

  1. 开发人员不接受你的说法;

  2. 你不了解开发人员的挑战和需求。

记录

架构文档有时很重要,有时却不那么重要。例如,架构决策或代码指南是重要文档。在开始编程之前,通常需要初始文档,并且对此不断细化。因为代码也可以作为文档(如 UML 类图),所以有些文档可以自动生成。


文章标题:如何成为更好的软件架构师?这篇3.8Kstar的文章值得一看
URL网址:http://cdbrznjsb.com/article/dhphdpc.html
  • 网站建设专属方案

  • 网站定制化设计

  • 7X24小时服务

  • N对管家服务

让你的专属顾问为你服务