1.MVC
MVC,即Model模型、View视图,及Controller 控制器。
View:视图 | 为用户提供使用界面,与用户直接进行交互。 |
Model:模型 | 承载数据,并对用户提交请求进行处理的模块。 其分为两类, 一类称为数据承载Bean, 一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门用于承载业务数据的,如Student, User等。而业务处理Bean则是指Service 或Dao对象,专门用于处理用户提交请求的。 |
Controller: 控制器 | 用于将用户请求转发给相应的Model进行处理,并根据Model的计算结果向用户提供相应响应。 |
MVC架构程序的工作流程是这样的:
(1)用户通过View页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2).服务端Controller控制器接收到请求后对请求进行解析,找到相应的Model对用户请求进行处理。
(3) Model处理后,将处理结果再交给Controller
(4) Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应View页面。页面经渲染(数据填充)后,再发送给客户端。
2.三层架构
三层架构是指:视图层View、服务层Service, 与持久层Dao.它们分别完成不同的功能。
➢View层: 表现层、视图层,对于Web开发,也称为Web层。用于接收用户提交请求的代码在这里编写。
➢Service层:业务层、逻辑层,系统的业务逻辑主要在这里完成。
➢Dao层: 持久层、数据访问层,直接操作数据库的代码在这里编写。DAO,即Data Access Object,数据访问对象。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
3.mvc+三层架构
所谓“MVC+三层架构”的开发模型,主要是指将MVC的业务处理Model分为了两层Service层与Dao层,分别用于处理业务逻辑与持久化操作。
“MVC+三层架构”的开发模型,是传统的JavaWeb项目的最常用开发模型。
4.三层架构和框架开发的对应关系
三层架构 | 框架 |
View层: 表现层、视图层 | SpringMvc |
Service层:业务层、逻辑层 | |
Dao层: 持久层、数据访问层 | Mybatis |