这一周,阅读了王概凯的架构漫谈,我对架构的产生,架构的作用,技术和架构之间的关系,以及架构师有了更加清楚地了解。下面我从以下几点来表达一下自己的理解。
文章中很清楚,通俗易懂的讲述了架构产生的由来,以及概念的由来,让晦涩难懂的知识点,变得通俗易懂,架构就是把一个整体切分成不同部分,有不同角色完成这些分功,通过建立不同部分相互沟通的机制,是这些部分能够有机的结合作为一个整体,并完成这个整体所需要的所有活动。其中切分不同的部分又有广度和深度,一个大面饼可以切分,相对于人的话,时间的前后也可以划分,那么就相对的也许好划分,架构也就随之而有了。
第一节讲的是什么是架构,在文中,他首先列举了Wikepadia上的定义。然后他从早期人们为了生命的延续分工合作来解释了为什么要产生架构?——把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构 。最后又通过建筑,来更深层次的解释了架构。最终给出了他的定义:根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。根据前者,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
第二节讲的是认识概念。架构实际上解决的是人的问题,而概念是人认识这个世界的基础,自然概念的认识就非常的重要。实际上“相“表达的不是一个具体的东西,每个概念实际上所解决的,还是人遇到的某个特定的问题,我们把解决问题的解决方案,给定了一个名字,这个名字就是对应的某个特定的概念。抽象这个词代表的含义,实际上是把不同的概念的相似的部分合并在一起,形成一个新的概念。
第三节讲的是架构识别。做好架构首先需要做的就是识别出需要解决的问题。所有的概念基本都有一个很大的问题,就是缺乏主语。而我们大家都心照不宣的忽略这个主语,沟通的时候也都以为大家都懂得对方说的主语是谁,结果大家都一起犯错误。识别问题的一个最大的前提就是要搞清楚:是谁的问题。这个搞清楚了,问题的边界也就跟着确定了,再去讨论问题才有意义。
一般来说,从问题暴露的点,一点点去溯源查找,一定会找出来谁的问题,以及是什么问题。最坏情况就是当我们时间或者能力有限,实在是无法定位出是谁的问题的时候,比如系统出故障,也就意味着我们无法根本解决问题。这时最好的办法就是去降低问题发生所带来的成本,尽量去隔离问题影响的范围。给我留出时间和空间去识别真正的问题。
第四节,作者提到了如何做好关于架构的切分的问题。我们要非常的清楚,所有的切分调整,都是对相关人的利益的调整。为什么这么说呢,因为维护自己的利益,是每个人的本性,是在骨子里面的,我们不能逃避这一点。我们已经知道,随着社会的发展,分工是必然的,为什么呢? 这个背后的动力就是每个人自己的利益。每个人都希望能够把自己的利益最大化。在这个模式下,每个人必须要舍掉自己的东西,才能够得到更多的东西。