三层架构与MVC
一、三层架构
三层架构是指:视图层View、服务层Service与持久层Dao。
- View层:用于接收用户提交的请求
- Service层:系统的业务逻辑
- Dao层:直接操作数据库
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
二、MVC
MVC,即Model模型、View视图、Controller控制器。
- View:视图,为用户提供使用界面,与用户直接进行交互。
- Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载bean,一类称为业务处理bean。所谓数据承载bean是指实体类,专门为用户承载业务数据的,如Student、User等。而业务处理bean则是指service或dao对象,专门用于处理用户提交请求的。
- controller:控制器,用于将用户请求转发给相应的model进行处理,并根据model的计算结果向用户提供相应的响应
MVC架构程序的工作流程:
- 用户通过View页面向服务端提出请求,可以是表单请求、超链请求、ajax请求等
- 服务端controller控制器接收到请求后对请求进行解析,找到相应的model对用户请求进行处理
- Model处理后,将处理结果再交给controller
- controller在接到请求结果后,根据处理结果找到要作为向客户端发回的响应view页面。页面经渲染(数据填充)后,再发送给客户端。
三、MVC与三层架构的关系
四、SSM与三层架构的关系
SSM,即SpringMVC,Spring与MyBatis三个框架。它们在三层架构中所处的位置与功能如下:
- SpringMVC:作为View层的实现者,完成用户的请求接收功能。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。
- MyBatis:作为Dao层的实现者,完成对数据库的增删改查功能
- Spring:以整个应用大管家的身份出现。整个应用中所有bean的生命周期行为,均由spring来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由spring进行管理。