架构分类
| 更多内容在: |
架构专栏 |
定义了架构之后,在具体开始研究之前,需要先进行分类,就像研究自然界一样,不同的层面、物种在具体的方法论上还是有所差别的,IT领域的架构研究也是如此。下图是一种分类法:
上图主要从3个视点来分类:领域,作用域,属性。
- 作用域是面向层的(定义为X轴向),我们只需要关注企业架构(部分领域可选)、产品线架构(可选)、产品架构这三个层面,上层架构对下层架构起到原则或约束作用,下层架构要遵循上层架构的决定。
- 领域是纵向的(定义为Y轴向),业务架构、数据架构、应用架构、技术架构是基本元素,在企业架构、产品线架构层面都存在。
- 属性定义为Z轴向,包括安全架构、治理架构、监控架构等,例如:安全架构可以说数据架构的一个属性,也可以是业务架构、技术架构等的属性,在实践中,Z抽可以弱化,把这些属性放在层、域来考虑,等到一定规模的时候,再独立出来考虑。
产品架构比较特殊,我们通常讲软件架构时,多指产品架构(也有的其实是指技术架构,技术架构的范畴要比产品架构更小,技术架构对应的本体是技术框架,软件架构对应的本体是软件产品)。产品架构内部不包含领域架构(属性架构也不包括),只包含领域视图(也包括属性视图),因而它考虑的粒度非常细,也要考虑这些视图如何封装(也就是设计)为本体,比较简单的方法是:把技术视图与框架对应起来(同时把技术架构风格抽象为设计原则,作为设计时的约束),业务视图和数据视图与领域本体(领域类)对应起来,应用视图分解为组件视图(与组件对应起来)和部署视图(与产品本体对应起来)。
