架构,每当我听到这个词,总是不自禁的认为,架构就是项目的结构,一行行代码如何拼接成为一个完整的项目,直到阅读了架构漫谈的九篇博客后,我才对架构有了更深入的了解。
架构,可以说就是一个整体可以分为许多块,每一块各司其职,完成自己的工作,然后块与块之间相互连接沟通,从而构成一个整体,这个整体可以完成所需要的所有活动。准确的说,架构就是:根据要解决的问题,对目标系统的边界进行界定。并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。
那么架构这一名词到底是为何所生的呢?我们知道,一项简单的任务交给一个人去完成,那么这个人还可能按时完成。如果这项任务稍微有点难度,那么这个人可能就无法在规定时间内完成了。如果这项任务非常庞大非常复杂,那么给这个人十倍百倍的时间都有可能完成。架构的出现就是因为一个人的能力有限,单独一人难以胜任这项工作的每一部分。也因为一个人的时间有限,就算一个人可以完成整项工作,但是往往没有足够的时间去完成。还因为人们对工作的需求不仅仅是完成工作,而是让工作更加尽可能地完美。
想要成为真正的架构师,必须要更能够准确的发现我们需要解决的问题是什么,不然我们会离我们的初衷越来越远。所以找出问题的主体,是架构师首先要做的事情。在识别出问题之后,如果这个问题能够迎刃而解,那自然是很美妙的一件事情了,但是很多情况下还是有问题的,所以我们还要做出一些调整,这就是架构的切分。实际上,切分的过程就是建模的过程,大问题切分后会生成很多小问题,每个小问题就形成了不同的概念,架构师更多的是去理解这些概念。架构切分后的结果是一个树状,分层越少越好,因为分层越多,内部沟通就越多,效率就越低。
软件架构的出现也是相同的,一开始是一个人去完成软件,后来慢慢地几个人共同合作的去进行开发,每个人都有明确的分工,演变出不同的架构,为的就是避免个人任务太重。
要想成为一个架构师,仅仅会架构是远远不够的,架构师还需要克服对时间的恐惧和压力,培养自己的自信心。架构是还必须能够及时的调整自己的组织架构,使得每个内部成员的内心中是平衡的。