三层架构软件设计分层模式

简介: 分层思想是为了让每层中的组件保持内聚性,每层都应与其下面的各层保持松耦合,对于小型的项目一般三层就够了,分层的方案有很多种,其中最具影响力也最成熟的就是三层架构.三层架构三层指的是表示层,业务逻辑层,数据访问层表示层:位于最外层(最上层),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面.

 

分层思想是为了让每层中的组件保持内聚性,每层都应与其下面的各层保持松耦合,对于小型的项目一般三层就够了,分层的方案有很多种,其中最具影响力也最成熟的就是三层架构.

三层架构

三层指的是表示层,业务逻辑层,数据访问层

表示层:位于最外层(最上层),使用户能够直接访问,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作界面.web应用程序中,表示层一般以JSP.HTML文件为主.

业务逻辑层:主要功能是对业务逻辑处理的封装,业务逻辑层中,通常会定义一些接口,表示层通过调用业务逻辑层的接口实现各种操作;

数据访问层:该层实现对数据的保存和读取操作.

层与层之间的关系

三层架构中,各层之间相互依赖,上一层依赖下一层,各层之间的数据传递方向分为请求和响应两个方向.

过程:

1.表示层根据用户的操作,请数据提交到业务逻辑层;

2业务逻辑层对用户的操作进行审核和处理,然后将请求通知数据访问层或者直接返回给表示层;

3数据层收到业务逻辑层的请求便开始访问数据库,从数据库中访问得到请求结果;

4并把请求结果通知业务逻辑层,业务逻辑层对数据进行审核和处理,

5然后通知给表示层,表示层收到数据,并把数据展示给用户;

 

分层原则:

1上层依赖下一层,依赖关系不跨层

上一层调用下一层所得到的执行结果完全取决于下一层中的实现代码,上一层无法进行控制

2.下一层不能调用上一层

上一层可以调用下一层的功能,下一层不能调用上一层的功能,下一层是为上一层提供服务,而下一层不能使用上一层的服务

3.下一层不依赖上一层

上一层不管发生任何改变,不会对下一层产生任何影响

4.在上一层中不能出现下一层的概念

确保层次间的关系清晰

相关文章
|
2月前
|
负载均衡 关系型数据库 应用服务中间件
高可用系列文章之二 - 传统分层架构技术方案
高可用系列文章之二 - 传统分层架构技术方案
|
3月前
|
小程序 Java 数据管理
Java前后端分离架构开发的智慧校园电子班牌系统源码(SaaS模式)
.智慧校园设备管理: 设备管理主要对班级中正在使用的电子智慧班牌进行管理,基本功能包含(开关机状态、班级信息、设备型号、开关机信息、电子智慧班牌截屏信息、教师编号、设备ID、在线和离线状态、电子智慧班牌更新时间等)
40 0
|
3月前
|
设计模式 Linux 程序员
Linux驱动的软件架构(一):驱动的软件设计模式理念
Linux驱动的软件架构(一):驱动的软件设计模式理念
39 0
|
3月前
|
存储 缓存 负载均衡
架构的模式
架构的模式
|
11天前
|
前端开发 安全 JavaScript
计算机软件从 CS 模式到 BS 架构迁移背后的动因
计算机软件从 CS 模式到 BS 架构迁移背后的动因
20 0
|
20天前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
18 0
|
27天前
|
运维 安全 Linux
LAMP架构调优(八)——Apache Worker模式调优
LAMP架构调优(八)——Apache Worker模式调优
9 0
|
28天前
|
缓存 运维 Linux
LAMP架构调优(七)——Apache Prefork模式调优
LAMP架构调优(七)——Apache Prefork模式调优
17 2
|
1月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
56 1
|
1月前
|
消息中间件 存储 缓存
性能基础之大型网站技术架构模式
【2月更文挑战第15天】性能基础之大型网站技术架构模式
69 3
性能基础之大型网站技术架构模式