《架构漫谈阅读心得》

  相信各位都知道程序员是IT行业中人数最多的一个职位,所有软件都是经由他们的双手创作出来,然而这个职业是IT行业中最低端但却也是最基础的部分。为什么?因为他们只懂得根据那些文档要求完成一些功能进而来满足用户的需求,而这些文档是经由软件设计师、软件分析师以及软件架构师等来完成,乍一看,大家都会觉得程序员的工作要比那些所谓的设计师和架构师要累的多得多,认为他们不就是简单写了一些文档而已,没什么了不起的。然而这种观点往往是错误的,这些看似简单的文档可不是那么容易写出来的,打个比方,这就好比一个企业公司的高管和普通职员一样,公司高管每天就只是坐在一起开会,然后给普通职员分配任务,但是最终那些高管的工资却是最多的。为什么?那是因为高管有着丰富的经验,有丰富的专业知识和表达能力,他们知道客户的需求,能够发现问题、分析问题,进而将问题分解成许多小任务来交给普通职员去解决。阅读完架构师王概凯老师的九篇《架构漫谈》,结合生活实际让我首先对软件架构师有了初步的认识。

  什么是架构,为什么会产生架构,作者由人类社会的演化,人类社会中分工的出现来引入问题的答案。把一个整体切分成不同的部分,由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。为什么会产生构架,对于人类社会而言,由于人群的生产力提高,人类学会了越来越多的技术,但是不可能一个人都会这些新的技术,所有就产生了分工,一旦产生了分工,就把所有的事情切分成不同人去完成,从而以更高的效率来认识世界以及改造世界。这实际上形成了社会的架构,它是人类发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以更高的效率去改造这个世界的方法。而在现如今生活中而言,架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。

  什么是软件?什么是软件架构?软件就是现实世界的一个模拟,使用来解决人们日常生活中的问题的。软件架构是将软件的工作进行拆分、分解,以更好更快的解决人们问题的。软件的架构分为部署的架构和代码的架构。部署的架构就是可以将软件拆分部署到不同的机器上,仍可以正常运行。代码的架构就是软件工作人员的分工,使之可以独立的完成代码的某个部分。成为软件架构师需要我们有足够的自信,克服时间恐惧和压力,把完成别人工作当成自己的最大利益。 

  软件架构师是如何工作的?要清楚地认识一点,架构师要解决的问题都是人的问题,都是别人的问题,不是架构师自己的问题,如果别人能够把问题提出来,那么他们自己就能够解决,这就好比房屋的改装,设计师的工作往往比其他工人的工作看起来要轻松,但是设计师所考虑到的问题是工人们所想不到的,设计师首先要了解到用户的需求和现实的情况,然后根据这些基本条件来对房屋进行改造,考虑到美观、安全、采光、空间利用等问题,将整个问题先拆分成许多小的问题逐一解决,然后再将解决好的问题有机统一起来形成一个整体,他们有的毫无关联,有的却是互补、不可缺失另外设计师师需要解决的是用户没有提出来的问题,是用户意识到但没有表达出来的问题,这种问题才是整个问题核心的关键。设计师只有解决了这样的问题,做出来的产品才能够满足客户的需要。首先需要找出问题的主体,才能找出主体存在的问题。以上所述的设计师的工作和软件架构师大体一致。

  到这里,相信大家就能够区分程序员和架构师的根本区别,也能看出架构师并不是所有人都能够胜任,这需要工作和学习中的大量经验作为基础,需要能发现用户提出问题之外的问题,更需要与人沟通的绝对能力。这些技能都是需要我们一点一点积累,不要抱怨程序员的劳累,要在此基础上累积经验,为以后的职位做铺垫。

猜你喜欢

转载自www.cnblogs.com/news1997/p/10505694.html