如何成为更好的软件架构师?这篇3.8K star的文章值得一看( 二 )

\n

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

\n

软件架构师是指那些制定高级设计决策 , 并确定技术标准(包括软件编程标准、工具和平台)的软件专家 。 这之中的首席专家就是总架构师 。 (来源:Wikipedia: Software Architect)

\n

软件架构是系统的基本组织构成 , 这种组织主要体现在其组件、组件之间的关系、组件与环境之间的关系 , 以及决定系统设计与演化的原则 。 (来源:Wikipedia: Software Architecture)

\n

架构的「层级」

\n

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

\n

应用级:最低层级的架构 。 只关注单一的应用 。 层级低 , 但是很详细 。 这方面的交流一般是在一个开发团队内展开;

\n

解决方案级:架构的中间层 。 关注一或多个满足业务需求的应用(也就是商业方案) 。 这之中有些设计是高层次的 , 但大部分还是低层次的设计 。 这种层级架构的交流就开始涉及多个团队了;

推荐阅读