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