三层架构、MVC以及与SSM架构的对应关系

三层架构

三层架构是指:视图层view,服务层service,持久层Dao,通常也叫(表示层UI,业务逻辑层BLL,数据访问层DAL)它们的功能是: 
1.view层:  用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面
2.service层:实现业务的主要逻辑,是系统架构中体现核心价值的部分。
3.Dao层:有时候也称为是持久层,其功能主要是负责数据库的访问。可以访问数据库、二进制文件、文本文件等。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。


三层架构的出现是为了降低耦合度,在这里,使用面向抽象编程,也就是上层对下层的调用,直接通过接口来完成,下层对上层的真正服务提供者,是下层实现的接口实现类,实现类是可以更换的,这就实现了层间的解耦合。 


实际项目中的包命名结构,其实就是三层架构的体现:

xxx:代表公司名称       yyy:代表项目名称

  • com.xxx.yyy.dao      dao层接口
  • com.xxx.yyy.dao.impl    dao层实现
  • com.xxx.yyy.service    service层接口
  • com.xxx.yyy.service.impl  service层实现      
  • com.xxx.yyy.web      web层
  • com.xxx.yyy.util      工具包
  • com.xxx.yyy.domain    javabean

MVC

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
1.View: 视图,为用户提供使用界面,与用户进行交互。 
2.Model: 模型承载数据,对用户提交请求进行计算的模块,分为两类:1.数据承载bean,2.业务承载bean,数据承载bean是指实体类专门承载业务数据的,比如Student,User,业务处理bean是指Service或者Dao对象,专门处理用户的请求的。 
Controller:控制器,用来将用户请求转发给相应的Model进行处理,并且根据Model的计算结果向用户提供相应的响应。

MVC工作流程:

最典型的MVC就是我们最近学习的JSP + Servlet + javabean的模式。

三层架构与MVC的关系

三层架构与MVC毫无关系。之所以这样说,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决B-S应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

之所以我们会混淆,是因为在进行web开发时两者会同时使用。

在三层架构设计中,表示层可由MVC设计模式中的视图和控制器来实现,而业务逻辑层和数据访问层则组成MVC设计模式中的模型的实现。因此,在实际的应用中,都是采用三层架构来搭建系统的框架,而表示层与业务逻辑层和数据访问层的交互则是通过MVC设计模式来实现。

SSM与三层架构的对应关系

SSM,即SpringMVC,Spring与Mybatis的统称。

1.SpringMVC:作为view的实现者,它的controller作为整个应用的控制器,完成用户请求的转发和对用户的响应。 
2.Mybatis:作为Dao的实现者,完成数据库的增伤改查等功能。 
3.Spring:是整个应用的大管家,整个应用中所有的bean的生命周期行为,都是由Spring来管理的,就是说整个应用中所有的对象的创建,初始化,销毁,以及对象之间关联的关系维护,都是由Spring来进行管理。 

猜你喜欢

转载自blog.csdn.net/weixin_39722922/article/details/89185976