`
aniu2008
  • 浏览: 41598 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于系统架构师

阅读更多

历次面试的时候,面试官总会问一个问题:“请说一下你的职业规划”,我总是说:我想走一条偏重技术的道路,我的职业规划大体可以分几个阶段:程序员--高级程序员--架构师--资深技术专家....

说是这样说,其实自己心里对架构师所要负责的工作还是比较模糊的。

为什么要成为架构师呢?

第一、符合自己偏重技术的道路,给自己的职业发展的每一个阶段都找一个落脚点,一个目标。

第二、架构师,光听名字就感觉酷酷的。

第三、架构师工资高:)

第四、架构师的工作很有成就感。

第五、......

到底架构师都干啥活呢?

一提起架构师,首先想到的是:技术大牛、高高在上、整天对着笔记本电脑敲敲打打、开会的时候滔滔不绝,

他们好像不编码,只是提各种各样的建议,负责审阅你提交的设计文档.....总之,是一种捉摸不透的感觉。

近日工作中有些许感悟,让我感觉到架构师做的工作是一些实实在在的工作:

比如:

要做一个项目或者要开发一个产品,要确定系统的架构,按照现在的情况来讲就是要确定系统使用的框架

比如是否使用Spring?使用Spring的优点是什么、缺点是什么?

优点:

1、我们的业务以后会变化无偿,使用Spring的IOC容器、AOP等可以在一定程度上能解决这个问题。

2、我们的有及其复杂的业务逻辑处理需求,可能会用到跨DAO的事务,使用Spring提供的声明式事务会很好的解决这个问题。

3、我们的程序员水平参差不齐,我们使用Spring提供的JDBCTemplate可以简化、统一数据库访问代码。

4、......

缺点

1、我们从来没有接触过Spring,需要一个学习周期,而项目的工期很紧,在不熟悉某个框架的情况下,最稳妥的做法还是使用现有的、经过验证的技术。

2、使用了Spring之后会不会使我们的产品对Spring产生依赖,以后不好剥离?

3、Spring框架会不会对我们项目的性能造成影响呢?

4、......

这些都是架构师考虑的问题...


再比如:每个系统都有权限控制、权限管理功能。

这个时候架构师就要考虑自己的权限系统是如何设计呢?

是让程序员if else写的满天都是,还是考虑抽象权限模型,加以控制呢?如何抽象呢?


再比如:我们的产品要集成第三方的产品,到底是进行API级别的集成,还是更简单的整合呢?

再比如:我们的用户对性能要求非常的苛刻,那么系统从硬件到软件如何构建、搭配才能尽可能的满足用户的要求呢?

再比如:最常见的一个问题。我们的用户以后还会提出各种各样的问题,那么系统从硬件到软件如何构建才能满足以后业务的扩展呢?

是采用三层结构?还是在业务逻辑层之上再加上一层?这一层的作用是什么呢?他能解决那些问题呢?这样做的好处是什么呢?


等等,我觉着都是架构师考虑的问题,可见,架构师的工作很实在,一个目标就是保证项目的扩展性、可复用性等等。也十分具有挑战性,需要丰富的经验和广博的知识。


能力源自勤奋的学习和不断的积累。架构师并不神秘,他就是拥有经验和能力的程序员。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics