在今天王老师的课上,我们阅读了 《架构漫谈》,它是由资深架构师王概凯 Kevin 执笔的系列专栏。它为我们讲述了 什么是架构、怎样理解架构、如何识别架构等等。
在《架构漫谈》上,王概凯说架构就是一个过程,架构产生的动力是:
1. 必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构
了)
2. 每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且
由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但
是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有
少部分人可以左手画圆右手画框,但是不是普遍现象)
3. 每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅
长于这些工作的角色来完成,见 2,从而缩短时间)
4. 人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)
5. 目标系统的复杂性使得单个人完成这个系统,满足条件 2,3(如果个人就可以
完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,
并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架
构思考,但考虑更多的是如何提高质量,提高个人的时间效率)
总结一下,什么是架构,就是:
1. 根据要解决的问题,对目标系统的边界进行界定。
2. 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切
分出来的部分,并行或串行开展工作,一般并行才能减少时间。
3. 并对这些切分出来的部分,设立沟通机制。
4. 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成
目标系统的所有工作。
那么要怎样理解架构呢?我们自以为都理解了,但是事实上我们并没有理解它的意思。就像我们自以为理解了桌子是什么,但让你说出桌子的定义的时候,你也许就会卡壳,这实际上就导致了做架构的时候,不同角色的沟通会出很多问题,那么结果也就可想而知了。