架构漫谈是由资深架构师王概凯执笔的系列专栏,通过对其阅读,我从中逐步认识到了什么是架构,怎样做好架构,软件架构如何落地等内容。
一、什么是架构
在软件行业,从很早之前对于什么是架构一直有很多的争论。事实上,架构在软件发明时的N多年以前,就已经存在了,这个词最早出现在建筑上。架构产生的五个动力可以概括为:由个人执行的工作;每个人的能力有限;每个人时间有限;人对目标系统有更高的要求;目标系统的复杂性使得单个人完成这个系统。当这五个条件同时成立,一定会产生架构。从这个角度上来说,架构是人类发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以跟高的效率去改造这个世界的方法。
对于什么是架构,作者为我总结为四点:1.根据解决的问题,对目标系统的边界进行界定。2.并对目标系统按某个原则进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般共行才能减少时间,3.并对这些切分出来的部分,设立沟通机制。4.根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
二、认识架构的基础概念
每个概念年实际上所解决的是人遇到的某个特定问题,我们把解决问题的解决方案,给定一个名字,这个名字就是对应的某个特定的概念。在讨论桌子这个概念的过程中,很多人会提出抽象这个概念。抽象这个词代表的含义,实际上是吧不同的概念的相似的部分合并在一起,形成一个新的概念。根据架构的定义,要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样能够为做好架构打好基础。
三、如何做好机构的识别问题
找出问题的主题,是架构的首要问题。我们要解决的问题,一定是人的问题。架构师要解决的,基本上都是别人的问题,不是自己的问题,任何找上架构师的问题,绝对都不是真正的问题。
我们需要识别:用户究竟是二传手,还是问题的真正主体。当然明白了问题的主体,我们才能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。