架构漫谈是由资深架构师王概凯Kevin执笔,InfoQ架构垂直社群策划的系列专栏,专栏以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好代码等问题。专栏的目的是希望能抛出一些观点,并引发大家思考。整个系列一共9篇文章,分别从不同的角度探讨了有关架构的不同层次的问题,循序渐进。
一:讲的是到底什么是架构。就是把一整体划分为不同角色,各自完成自己的部分,最后有机的融合在一起。
当完成以下五项:
-
必须由人执行的工作(不需要人介入,就意味着不需要改造,也就不需要架构了)
-
每个人的能力有限(每个人都有自己的强项,个人的产出受限于最短板,并且由于人的结构限制,同时只能专注于做好一件事情,比如虽然有两只眼睛,但是只能同时专注于一件事物,有两只手,无法同时做不同的事情。ps. 虽然有少部分人可以左手画圆右手画框,但是不是普遍现象)
-
每个人的时间有限(为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,见2,从而缩短时间)
-
人对目标系统有更高的要求(如果满足于现状,也就不需要进行架构了)
-
目标系统的复杂性使得单个人完成这个系统,满足条件2,3(如果个人就可以完成系统的提高,也不需要别的人参与,也就不需要架构的涉及,只是工匠,并且一般这个工作对时间的要求也不迫切。当足够熟练之后,也会有一定的架构思考,但考虑更多的是如何提高质量,提高个人的时间效率) 啊是如何提高质量,提高个人的时间效率)
时,就一定会产生架构。