架构这个概念在IT行业里面出现频率极高,比如软件架构、硬件架构、算法架构。。。也有各种头衔的架构师,实际上每个码农否有一个自己的架构师梦,都希望有朝一日成为一名身怀绝技的架构师。但是,架构到底是什么意思,却讨论的比较少。
什么是架构
作者从为什么会产生架构的视角(由社会分工发展决定),来阐述了书中架构的概念。作者把架构定义为:“把一个整体切分成不同部分,由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动”架构有三个要素:(1)对整体的目标问题的边界进行界定;(2)将系统功能划分不同的部分,不同部分之间定义明确的沟通机制;(3)这些部分成为一个整体,完成系统所需的所有功能。
从这个角度看,架构的概念其实与组织有部分相似之处,百度百科,对组织的定义:“从广义上说,组织是指由诸多要素按照一定方式相互联系起来的系统。从狭义上说,组织就是指人们为实现一定的目标,互相协作结合而成的集体或团体,如党团组织、工会组织、军事组织等等。”
个人认为,无论架构还是组织,本质都是为了更好的解决问题,架构给人的人工痕迹更明显。
认识概念是理解架构的基础
一个好的架构师,如果能给他足够的时间,能完成所设计系统的所有工作。而做到这一点的前提是对系统中所涉及要素的概念有明确而清晰的认识,能够发现背后概念所代表的问题,进而能够认识目标领域所要解决的问题,这样才能为做好架构打下基础。
技术、架构、业务之间的关系
以砖木取火作为例子,取火是业务目标,钻木取火是解决这个业务问题的技术手段。但是钻木取火效率太低,影响的业务目标取火的效率,因此有改进取火方式的需求,因此有业务的存在,一般都会尽量去优化技术,提升业务目标。新技术出现后,为了更好的解决问题,之前的架构就有必要进行调整,以便更好的整合新技术去提升效率。
因此,架构整合技术解决业务问题。
网友评论