1、 了解系统集成方面的知识
- 硬件基础知识
- 网络基础知识
- 行业的最新知识
- 软件工程基础知识
我觉得一个架构师的知识面应该非常宽广,遇到难题,总能够想到最佳的解决方法,也即最合适的设计。所谓“复杂的系统,一流的设计”,一流的设计往往是最合适的设计,比如说分布式应用,可以使用WebService、Remoting、J2EE,架构师会方根据实际的情况做出最合理的选择。
2、 精通面向对象、设计原则、设计模式
OO这是基础,OO的出现就是为了解决软件设计上的复杂性的。
OO是很科学的东西,但并不是所有的地方都需要OO。个人认为OO的核心是多态,多态的核心是迟绑定。
遵循设计原则是优雅设计的前提。过分遵循原则则是过度设计。
架构师是直接参与设计的,设计模式解决的正是设计上的问题,所以,熟悉设计模式应该是必然的。有人说,36计就是模式。熟读36计的人并不一定都会使用36计。同样,
遵循设计原则是优雅设计的前提。过分遵循原则则是过度设计。
架构师是直接参与设计的,设计模式解决的正是设计上的问题,所以,熟悉设计模式应该是必然的。有人说,36计就是模式。熟读36计的人并不一定都会使用36计。同样,
3、 熟悉企业应用的特点、难题和解决方案
特点
|
知识
|
|
ORM 及常用的持久化Framework如 Hibernate、iBatis、EJB、ADO.net等等
|
|
并发、缓存 性能和可伸缩性
|
|
MVC设计模式
分层 |
|
数据访问和数据交换模式
|
企业应用架构同样有模式可循。Fowler在《
企业应用架构模式》一书中给我们总结出了类似《设计模式》一书中的通用的模式供我们参考。 这本书读起来比较枯燥,但确实非常有用。
4、 2年以上的专职编码经验
当然,如果你是天才的话,可能不需要两年。很多人认为架构师不应该参与编码,然而,很难相信,一个不会编码的人能够设计出优秀的系统。不断的了解编码过程中遇到的问题可以促使架构师改进设计。