background image

  因此,一个好的构架师将会在软件开发和商业领域的知识上面做出权衡。如
果一个构架师具有很好的软件开发经验但是不了解商业领域,那么他的解决方

 

案可能不会解决实际的问题,而仅仅只能反映出构架师是多么精通他的专业。

  另外一个构架师需要精通商业领域知识的原因是,构架师要能够预见软件
构架随时可能出现的变化。由于软件构架受它被配置的环境的影响非常大,所以
对商业领域有正确理解的构架师,可以从软件构架的角度,对不断变化的情况
做出更有远见的决策。例如,如果构架师发觉哪种新的标准在未来很可能成为主

 

流,那么他将会使自己的软件构架在可用寿命内符合这种标准。

 

软件构架师应该拥有技术知识

  软件构架的一个特定方面需要有一定的专业知识,因此一个构架师必须具
备这个水平的知识才能够胜任他的工作。可是构架师不必成为技术专家,这体现

——

了这篇文章第一部分的思想

构架师宏观上的决策。因此,构架师只需要了解

宏观上的问题,而不必关心细节化的事情。由于技术的变化过于频繁,所以构架

 

师要随时与这些变化保持同步。

 

软件构架师应该拥有很好的设计技巧

  虽然软件构架并不仅仅是设计,但是设计无疑是很重要的一个组成部分。构
架师应该拥有很好的设计技巧,因为软件的构架包含整个软件的关键性设计决
策。这种决定包括软件主要结构的设计决策,特定部分的选择以及指导的说明文
档等等。为了确保系统构架的完整性,上面那些要素都要被特别的应用到设计中
这对整个系统的成功完成有很大的作用。因此这些要素需要有固定的拥有设计技

——

 

巧的人来负责

这个人就是构架师。

 

软件构架师需要拥有很好的程序设计技巧

  开发人员是整个项目开发过程中最重要的一个小组之一,构架师要随时和
他们保持联系。毕竟他们要确保软件在最后交付使用的时候能够成功的执行。如
果构架师认为开发人员的工作是十分有价值的,那么他们之间的交流将会很有
效用。因此,软件构架师需要拥有一定的程序设计技术,即使不需要他们编写程

 

序。

  大多数成功的构架师,在一些场合中都是核心程序员,这些场合通常是他
们的职业方向。即使是技术发展了,有新的程序语言出现,一个好的构架师可以
把以前学过的设计语言的概念和新的语言联系起来,以达到对新语言更加深入
的了解。没有这种知识,软件构架师就不能对需要执行的构架的重要元素做出完
美的决策,例如执行的组织和程序标准的采用。这会使的软件构架师和开发人员

 

之间产生沟通上的障碍。

 

构架师是一个很好的沟通员