Spring MVC应用分层(三层架构)

该片文章主要是对 Spring MVC应用分层(三层架构)进行简单的介绍和学习。

一、介绍

1、什么是应用分层

应用分层 是一种 软件开发设计思想 , 它将应用程序分成N个层次, 这N个层次分别负责各自的职责, 多个 层次之间协同提供完整的功能. 根据项目的复杂度, 把项目分成三层, 四层或者更多层.
常见的MVC设计模式, 就是应用分层的⼀种具体体现。

2、为什么需要应用分层

对于一个项目,如果随着业务越来越复杂,大量的 代码混在一起,会出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等 问题. 所以学习对项目进行分层是非常必要的。

二、如何分层(三层架构)

 "MVC", 就是把整体的系统分成了 Model(模型), View(视图)和Controller (控制器)三个层次也就是将用户视图和业务处理隔离开,并且通过控制器连接起来,很好地实现 了表现和逻辑的解耦,是⼀种标准的软件分层架构。

 

现在,对于Java后端开发者, 又有了一种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. 这种分层方式也称之为"三层架构".
  • 表现层: 就是展示数据结果和接受用户指令的,是最靠近用户的⼀层;
  • 业务逻辑层: 负责处理业务逻辑, 里面有复杂业务的具体实现;
  • 数据层: 负责存储和管理与应用程序相关的数据

下面看一个不符合这种设计思想的代码例子:

按照上面的层次划分( 把整体架构分为表现层、业务逻辑层和数据层 ), Spring MVC 也进行了支持, 把上面的代码划分为三 个部分:
  • 请求处理、响应数据:负责接收页面的请求,给页面响应数据.
  • 逻辑处理:负责业务逻辑处理的代码.
  • 数据访问:负责业务数据的维护操作,包括增、删、改、查等操作.

这三个部分, 在Spring的实现中, 均有体现:

  • Controller:控制层。接收前端发送的请求,对请求进行处理,并响应数据。
  • Service:业务逻辑层。处理具体的业务逻辑。
  • Dao:数据访问层,也称为持久层。负责数据访问操作,包括数据的增、删、改、查.

三、MVC 和三层架构的区别和联系

关于二者的关系, ⼀直存在不同的观点. 有人认为三层架构是MVC模式的⼀种实现, 也有人认为MVC是三层架构的替代方案等等。
从概念上来讲, 二者都是软件工程领域中的架构模式。
MVC架构模式由三部分组成, 分别是: 模型(Model), 视图(View)和控制器(Controller).
三层架构将业务应用划分为:表现层, 业务逻辑层, 数据访问层。

 

MVC中, 视图和控制器合起来对应三层架构中的表现层.
模型对应三层架构中的业务逻辑层, 数据层, 以及实体类。
二者其实是从不同角度对软件工程进行了抽象.
MVC模式强调 数据和视图分离 , 将数据展示和数据处理分开, 通过控制器对两者进行组合.
三层架构强调 不同维度数据处理的高内聚和低耦合 , 将交互界面, 业务处理和数据库操作的逻辑分开。
二者的目的是相同的, 都是"解耦,分层,代码复用"。
软件设计原则:高内聚低耦合.
高内聚指的是:⼀个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联 系程度越高,则内聚性越高,即 "高内聚"。
低耦合指的是:软件中各个层、模块之间的依赖关联程度越低越好。修改⼀处代码, 其他模块的代码 改动越少越好。

四、应用分层的好处

  1. 降低层与层之间的依赖, 结构更加的明确, 利于各层逻辑的复用
  2. 开发人员可以只关注整个结构中的其中某⼀层, 极大地降低了维护成本和维护时间
  3. 可以很容易的用新的实现来替换原有层次的实现
  4. 有利于标准化

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值