现在的位置: 首页 > 综合 > 正文

什么是分层架构模式

2013年08月05日 ⁄ 综合 ⁄ 共 2004字 ⁄ 字号 评论关闭

分层(Layer)模式是最常见的一种架构模式。甚至说分层模式是很多架构模式的基础,本章下面讲到的一些内容实际上都和分层模式相关联。

分层描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1层。这是系统的基础。通过将第J层放置在第J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。

因而分层模式就可以定义为:将解决方案的组件分隔到不同的层中。每一层中的组件应保持内聚性,并且应大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合。

 

分层模式的关键点在于确定依赖:即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。

 

相对于分层,还有一种概念叫分区。分层是对架构的横向划分,而分区是对架构的纵向划分。

典型的分层方式是应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。层的数量与组成取决于问题领域和解决方案的复杂程度。通常而言只有一个应用程序专用层。应当把子系统组织成分层结构,架构的上层是应用程序专用子系统,架构的低层是硬件和操作专用子系统,中间件层是通用服务。

 

对系统进行分层有如下基本原则:

— 可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系。

— 易变性。最上层放置随用户需求的改变而改变的元素。最底层放置随实施平台(硬件、语言、操作系统、数据库等)的改变而改变的元素。中间的夹层放置广泛适用于各种系统和实施环境的元素。如果在这些大类中进一步划分有助于对模型进行组织,则添加更多的层。

— 通用性。一般将抽象的模型元素放置在模型的低层。如果它们不针对于具体的实施,则倾向于将其放置在中间层。

— 层数。对于小型系统,三层就足够了。对于复杂系统,通常需要5-7层。无论复杂程度如何,如果超过10层,就需要慎重考虑了。层数越多,越需慎重。

常见的分层架构模式
1.客户端-服务器模型(Client-Server,C/S)。

2.三层模型:用户表示层、业务逻辑层、数据层。

3.多层结构的技术组成模型:表现层、中间层、数据层。

4.网络系统常用三层结构:核心层、汇聚层和接入层。

5.RUP典型分层方法:应用层、专业业务层、中间件层、系统软件层。

6.基于Java的B/S模式系统结构:浏览器端、服务器端、请求接收层、请求处理层。

7.某六层结构:功能层(用户界面)、模块层、组装层(软件总线)、服务层(数据处理)、数据层、核心层。

分层(Layer)模式是最常见的一种架构模式。甚至说分层模式是很多架构模式的基础,本章下面讲到的一些内容实际上都和分层模式相关联。

分层描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1层。这是系统的基础。通过将第J层放置在第J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。

因而分层模式就可以定义为:将解决方案的组件分隔到不同的层中。每一层中的组件应保持内聚性,并且应大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合。

 

分层模式的关键点在于确定依赖:即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。

 

相对于分层,还有一种概念叫分区。分层是对架构的横向划分,而分区是对架构的纵向划分。

典型的分层方式是应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。层的数量与组成取决于问题领域和解决方案的复杂程度。通常而言只有一个应用程序专用层。应当把子系统组织成分层结构,架构的上层是应用程序专用子系统,架构的低层是硬件和操作专用子系统,中间件层是通用服务。

 

对系统进行分层有如下基本原则:

— 可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系。

— 易变性。最上层放置随用户需求的改变而改变的元素。最底层放置随实施平台(硬件、语言、操作系统、数据库等)的改变而改变的元素。中间的夹层放置广泛适用于各种系统和实施环境的元素。如果在这些大类中进一步划分有助于对模型进行组织,则添加更多的层。

— 通用性。一般将抽象的模型元素放置在模型的低层。如果它们不针对于具体的实施,则倾向于将其放置在中间层。

— 层数。对于小型系统,三层就足够了。对于复杂系统,通常需要5-7层。无论复杂程度如何,如果超过10层,就需要慎重考虑了。层数越多,越需慎重。

常见的分层架构模式
1.客户端-服务器模型(Client-Server,C/S)。

2.三层模型:用户表示层、业务逻辑层、数据层。

3.多层结构的技术组成模型:表现层、中间层、数据层。

4.网络系统常用三层结构:核心层、汇聚层和接入层。

5.RUP典型分层方法:应用层、专业业务层、中间件层、系统软件层。

6.基于Java的B/S模式系统结构:浏览器端、服务器端、请求接收层、请求处理层。

7.某六层结构:功能层(用户界面)、模块层、组装层(软件总线)、服务层(数据处理)、数据层、核心层。

抱歉!评论已关闭.