您的位置:首页 > 职场人生

架构师、设计师、程序员你们的差别到底在哪?

2009-12-18 13:13 309 查看
[align=center]架构师、设计师、程序员[/align]
[align=center]你们的差别到底在哪?[/align]
[align=left] 今天在做架构咨询服务包的时候,心里真是有很多感慨,看着这些需要细化的内容,看着每步步的流程,让我想起了一个不太愿意也不得不想的问题。架构师、设计师、程序员你们到底有什么不同?
很多朋友都知道,我们刚刚大学毕业时候都去XX公司应聘程序员工作。这个时候我们做什么呢?开发代码呗。对,但大家有考虑的一件事情吗?就是我们开发的代码质量如何?美观吗?整齐吗?易于修改吗?好维护吗?还有一个面向对象开发来说重要的一点,我们写出来的代码OO(面向对象)吗?[/align]
对于上面的一大堆问题,我们扪心自问一下,我们的代码如何?反正我刚入职的那会可谓――垃圾代码呀,难看死了,不好修改,不好维护,不对称不美观不平衡,而且不面向对象,说实在的就是用对象语言在写过程代码,就想大学里面写C语言一样。其实这个比较好意识到,因为当你写的代码变成产品的时候,问题就暴露出来了。我相信每个程序员都经历过熬夜修改错误,郁闷,头大的难熬夏夜吧(别说没有,我不信)。其实现在很多公司,尤其是小公司,开发人员就是这样的,程序员一般都是有毅力、有耐心,一说开发,熬呀熬呀,也很累。但是需求变更了,再熬呀熬呀,代码修改,再修改。那么我们就应该反思一下原因为什么(反正我是反思了,不知道大家如何做的)?这个时候,重新学习面向对象,看模式设计,再根据当时间安排对以前开发过的代码进行代码重构。别小看重构,这可是一项很高深的技术哦,也有相关的书籍,我强烈建议大家看看,我觉得学习重构技术和学习模式设计同样重要。我当时下在重构上面的功夫可不比研究模式设计少。好了,通过上面的阶段,我相信大家的代码应该和毕业时候比有了一个质的飞跃了吧。程序员做开发最好的情况是,有UML图,有相关接口设计的条件,进行代码实现的开发。当然UML图和相关接口设计本就应该是设计师的事情,公司都喜欢一个当十个用,所以这点无语嘛。到这里我们总结出程序员的工作了,开发,看得懂相关设计图,技术过硬。
现在我们要向上爬一个层次了,去做设计师,怎么做呢?前面我们说了在开发的时候最好的前置条件是有UML图,有相关接口设计,这些从哪里来呢?对,这些是设计师写的。在整个RUP阶段,分析和设计在第三个阶段(详细步骤朋友们可以去看看Rational统一过程),设计包含两种,架构设计和系统设计。这段我们先说系统设计,在系统设计阶段,设计师们应该拿到,架构设计文档,业务需求,相关的领域模型等。这里设计师们就不能向程序员一样光想开发了,这里第一位的是需求(这里不光是软件功能上的需求,还有环境需求,硬件需求,技术需求等内容),怎么样在架构中进行系统设计能够满足需求,有了编程的经验,设计师们能够提前预测开发的痛点,技术的难点和一些建议的解决方案。我们手里还有前辈们总结好的精华――设计模式,结合一系列需求进行设计。
设计师可就比开发需要考虑的方面也很多,视角、关注点都会有变化。再向上就是另一个高度了,架构师。这个就难了,一般架构师都是软件架构的大拿,或者是某一行业领域的专家,从事某行业领域很多年的大哥级人物了(我说的时候真正的好的架构师,干两年编程就跑出来说我是架构的那种不算在内)。架构师可以说是站在整体企业,甚至是行业内,看待软件的,他们的着眼点更高了,在业务建模和整体软件架构上进行设计。朋友们可以学习一下EA,里面包含的四个部分的架构,哪一样都是要下功夫的。
我们看到了,从程序员到设计师,再到架构师,他们虽然都是在开发软件,但是从内容、视角、观察的高度是不一样的。希望朋友们根据自己定位的目标,进行学习和锻炼,从而实现大家的目标哦。本文出自 “张隽永” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐