分层(Layer)模式是最常见的一种架构模式。甚至说分层模式是很多架构模式的基础。分层描述的是架构设计过程,从最低级别的抽象开始,称为第1层,这是系统的基础,通过将第J层放置在第J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。
定义:将解决方案的组件分隔到不同的层中。每一层中的组件保持内聚性,并且大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合。 关键点:在于确定依赖,即通过分层,限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。
相比分层,还有一种概念叫分区。分层是对架构的横向划分,而分区是对架构的纵向划分。
典型的分层方式是应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。层的数量与组成取决于问题领域和解决方 案的复杂程度。通常只有一个应用程序专用层。应当把子系统组织成分层结构,架构的上层是应用程序专用子系统,架构的低层是硬件和操作专用子系统,中间件层是通用服务。
分层基本原则: 1、可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系。 2、 易变性。最上层放置随用户需求的改变而改变的元素。最底层放置随实施平台(硬件、语言、操作系统、数据库等)的改变而改变的元素。中间的夹层放置广泛适用于各种系统和实施环境的元素。如果在这些大类中进一步划分有助于对模型进行组织,则添加更多的层。 3、通用性。一般将抽象的模型元素放置在模型的底层。如果它们不针对于具体的实施,则倾向于将其放置在中间层。 4、层数。对于小型系统,三层就足够了。对于复杂系统,通常需要5-7层。无论复杂程度如何,如果超过10层,就需要慎重考虑了。层数越多,越需慎重。
常见的分层架构模式 1、客户端-服务器模型(Client-Server,C/S)。 2、三层模型:用户表示层、业务逻辑层、数据层。 3、多层结构的技术组成模型:表现层、中间层、数据层。 4、网络系统常用三层结构:核心层、汇聚层和接入层。 5、RUP典型分层方法:应用层、专业业务层、中间件层、系统软件层。 6、基于Java的B/S模式系统结构:浏览器端、服务器端、请求接收层、请求处理层。 7、某六层结构:功能层(用户界面)、模块层、组装层(软件总线)、服务层(数据处理)、数据层、核心层。
出处:http://www.cnblogs.com/brookin/
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。