通过阅读了王概凯老师的《架构漫谈》,我对架构的产生,架构的作用,技术和架构之间的关系,以及架构师有了更加清楚地了解。
文章中很清楚,通俗易懂的讲述了架构产生的由来,以及概念的由来,让晦涩难懂的知识点,变得通俗易懂,架构就是把一个整体切分成不同部分,有不同角色完成这些分功,通过建立不同部分相互沟通的机制,是这些部分能够有机的结合作为一个整体,并完成这个整体所需要的所有活动。其中切分不同的部分又有广度和深度,一个大面饼可以切分,相对于人的话,时间的前后也可以划分,那么就相对的也许好划分,架构也就随之而有了。
王概凯老师又引了“名相”这个概念,相是作用,而名是为了指代这个作用而产生的名字,这个就是古代的概念。同时王概凯老师又相当准确的阐述了什么是真正的概念。一个物体不是通过他的外观而产生,而独立于世界的,是通过他的内在作用,比如杯子“单手持握,可以盛有少量液体或物体的容器”,这就是其的作用而不是“一个侧边有把,内空”这就是做架构前需要先了解这个物体的内在作用,才能更好的切分,更好的去划分。
那么做架构,更重要的是认清这个系统真正的问题主题是谁?并不一定是用户,需要事先做好调查,王概凯老师引了一个软件工程领域熟知的例子“用户给产品经理提出要一把锤子”,如果相对产品经理,那么就是一把锤子,如果相对开发者,一个石头就应当可以完成锤子的任务,而用户想要的是能够解决更加方便顶入钉子,更快完成任务的工具,每一个客体都有一份说词,那么真正要设计什么的时候这就要问一问软件架构师了。
那么软件架构师是如何出现的呢?一开始是懵懵懂懂的去写软件,后来慢慢的就有意识的去切分,演变成了不同的架构。这个背后的动力也是一样的,就是提升参与的人的利益,降低成本。导火索也是软件工程师的任务太重,我们需要把很多工作拆分出来。拆分的原则也是一样的,如何让权责一致。同样,这个拆分也是需要组织架构的调整,来保证架构的落地。
那么成本的作用是什么呢?想必大家搜知道摩尔定律,每过一定时间,半导体的成本越来越低,而他的性能缺越来越高,这在一定程度上推动了编写程序的普及,以前只有几个真正称得上的软件工程师,国内类似雷军他们这些大佬,现在呢?再也没有哪个大佬像当初雷军那样有叱咤风云的地位了,因为java,python的普及,软件工程师越来越多,真正需要的是哪个指导方向的软件架构分析师的产生。
接下来要说一说软件架构分析师的动力了:必须要有人执行的工作,每个人的能力有限,每个人的时间有限,人对目标系统有更高的要求,目标系统的复杂性使得单个人完成这个系统满足(个人能力有限,时间有限的现实)。
那么软件架构这么重要,软件架构分析师就要有着很高的领导地位,在小组团队中有着一定的话语权,而且懂得技术,这样才能在根本上带领着团队实现真正的价值。