经典三层及MVC模式区别

349 阅读3分钟

经典三层

基本上市面上软件系统开发架构⼀般都是基于两种形式,⼀种是C/S架构,也就是客户端/服务器;另⼀种是B/S架构,也就是浏览器服务器。在JavaEE开发中,⼏乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构中,每⼀层各司其职,接下来讲一下三层架构的基本概念

image.png

表现层

表现层基本上就是我们说的web层。web层主要负责接受客户端请求,向客户端相应结果,通常客户端使用http请求web层,web层需要接受http请求完成http相应。

有上图可知表现层分为两种两个:

  • 视图层:接收请求

  • 控制层:结果的展示

一般来讲web层依赖service层,web层接收到客户端请求⼀般会调⽤业务层进⾏业务处理,业务层处理完后返回给web层然后将处理结果响应给客户端。

业务层

业务层基本上就是常说的service层。service层主要负责业务逻辑的处理,基本上service层包含着所有业务逻辑与现实中开发项目的需求与关。 web层依赖service层,但是service层不依赖于web层,service层在处理业务逻辑的时候一般都会依赖于持久层(Dao层),如果需要对数据集行持久化操作需要保证事务的一致性,那么就必须将事务有关的操作放到servcie层来进行控制。

持久层

持久层基本上就是我们是常说的dao层。dao层主要负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进⾏持久化的载体,数据访问层是业务层和持久层交互的接⼝,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进⾏增删改查的。

MVC模式

MVC模式不是Java的23种设计模式,很多刚接触Java的小伙伴可能会弄Java设计模式和MVC模式的概念。MVC模式是一种代码的组织方式,主要是将相同种类的代码放到一起。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是⼀种⽤于设计创建Web应⽤程序表现层的模式。接下来我们将一下MVC模式的基本概念:

Model(模型)

模型包含业务模型和数据模型,数据模型⽤于封装数据,业务模型⽤于处理业务。

View(视图)

通常指的就是我们的jsp或者html。作⽤⼀般就是展示数据的。通常视图是依据模型数据创建的。

Controller(控制器)

是应⽤程序中处理⽤户交互的部分。作⽤⼀般就是处理程序逻辑的。MVC提倡:每⼀层只编写⾃⼰的东⻄,不编写任何其他的代码;分层是为了解耦,解耦是为了维护⽅便和分⼯协作。

总结

经典三层是给予系统层级进行代码的划分,而MVC模式是基于代码层级进行划分

MVC模式是经典三层中表现层的一种实现