应用系统架构师应该具有的素质

小弟愚钝,总结的不好,希望各位大虾纠正、补充。

1、  了解系统集成方面的知识

  • 硬件基础知识
  • 网络基础知识
  • 行业的最新知识
  • 软件工程基础知识

    我觉得一个架构师的知识面应该非常宽广,遇到难题,总能够想到最佳的解决方法,也即最合适的设计。所谓“复杂的系统,一流的设计”,一流的设计往往是最合适的设计,比如说分布式应用,可以使用WebService、Remoting、J2EE,架构师会方根据实际的情况做出最合理的选择。
 

2、  精通面向对象、设计原则、设计模式

        OO这是基础,OO的出现就是为了解决软件设计上的复杂性的。OO是很科学的东西,但并不是所有的地方都需要OO。个人认为OO的核心是多态,多态的核心是迟绑定。

    遵循设计原则是优雅设计的前提。过分遵循原则则是过度设计。

    架构师是直接参与设计的,设计模式解决的正是设计上的问题,所以,熟悉设计模式应该是必然的。有人说,36计就是模式。熟读36计的人并不一定都会使用36计。同样,
熟悉设计模式并不是靠看一两本诸如《C#设计模式》之类的书就够了的,必须经过很多项目的实践,做到收放自如。用最合适的模式解决问题,或者不用模式(并非每个地方都需要模式)。

3、  熟悉企业应用的特点、难题和解决方案
 

特点

知识

  1. 涉及到持久化数据

ORM 及常用的持久化Framework HibernateiBatisEJBADO.net等等

  1. 很多人同时访问数据

并发、缓存 性能和可伸缩性

  1. 含有大量操作数据的用户界面

MVC设计模式 分层 

  1. 与散布在企业内部或周围的其他的应用集成

数据访问和数据交换模式

     企业应用架构同样有模式可循。Fowler在《企业应用架构模式》一书中给我们总结出了类似《设计模式》一书中的通用的模式供我们参考。 这本书读起来比较枯燥,但确实非常有用。
 

4、  2年以上的专职编码经验

    当然,如果你是天才的话,可能不需要两年。很多人认为架构师不应该参与编码,然而,很难相信,一个不会编码的人能够设计出优秀的系统。不断的了解编码过程中遇到的问题可以促使架构师改进设计。

5、  能够熟练的用代码、文档(birdshome冬冬指出)和图形的形式表达自己的设计思想和设计理念

        UML是必不可少的工具,可以提供比代码更为清晰的鸟瞰视图。UML可以作为与客户沟通的工具,也可以作为与程序员沟通的工具。微软在vs2005里面也提供了自己的一套不兼容标准的建模工具。另外,birdshome 指出,还需要有一定的ppt制作水平;冬冬指出,应该具备一定的文档能力。


相关链接:
MSDN架构师中心

posted @ 2006-01-11 20:24  quitgame  阅读(4717)  评论(9编辑  收藏  举报