MVC与三层架构

作者: 我可能是个假开发 | 来源:发表于2019-05-01 16:48 被阅读32次

MVC与三层架构

系统架构

系统架构是指,整合应用系统程序大的结构。经常提到的系统结构有两种:

  • 三层架构
  • MVC

这两种结构既有区别,又有联系。但这两种结构的使用,均是为了降低系统模
块间的耦合度。

1.三层架构

三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能。

  • View 层:用于接收用户提交请求的代码在这里编写。
  • Service 层:系统的业务逻辑主要在这里完成。
  • Dao 层:直接操作数据库的代码在这里编写。

为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。
即上层对下层的调用,是通过接口实现的。
而下层对上层的真正服务提供者,是下层接口的实现类。
服务标准(接口)是相同的,服务提供者(实现类)可以更换。
这就实现了层间解耦合。

三层架构.png

2.MVC

MVC.png

MVC,即 Model 模型、View 视图,及 Controller 控制器。

  • View:视图,为用户提供使用界面,与用户直接进行交互。
  • Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类:
    一类称为数据承载 Bean:实体类,专门用户承载业务数据的,如 Student、User 等
    一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理用户提交请求的。
  • Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。

MVC 架构程序的工作流程:
(1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
(3)Model 处理后,将处理结果再交给 Controller
(4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。

3.MVC与三层架构的关系:

MVC与三层架构.png

4.SSM与三层架构的关系

SSM,即 SpringMVC、Spring 与 MyBatis 三个框架。它们在三层架构中所处的位置是不同的,即它们在三层架构中的功能各不相同,各司其职。

  • SpringMVC:作为 View 层的实现者,完成用户的请求接收功能。SpringMVC 的 Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。
  • MyBatis:作为 Dao 层的实现者,完成对数据库的增、删、改、查功能。
  • Spring:以整个应用大管家的身份出现。整个应用中所有 Bean 的生命周期行为,均由Spring 来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由 Spring 进行管理。
SSM与三层架构.png

相关文章

  • MVC与三层架构

    MVC与三层架构 系统架构 系统架构是指,整合应用系统程序大的结构。经常提到的系统结构有两种: 三层架构 MVC ...

  • JavaWeb之MVC三层架构

    十、MVC三层架构 目录:早期开发、MVC三层架构什么是MVC:Model View Controller 模型、...

  • Spring MVC高级框架

    Spring MVC应用 Spring MVC介绍 MVC体系结构 三层架构在B/S架构中,系统标准的三层架构包括...

  • 2017.09.21

    一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间...

  • mvc+三层架构

    三层架构 mvc

  • MVC设计模式

    JSP开发模式JSP开发模式 三层架构&MVC 的关系三层架构&MVC 的关系 使用MVC设计模式完成 学生信息管...

  • 《ASP.NET MVC 企业级实战》阅读笔记初识MVC

    3.1 MVC简介与三层架构 3.1.1 MVC简介 MVC模型[model]: 实现系统中的业务逻辑,主要是存储...

  • 7、MVC模式与三层架构

    MVC设计模型 三层架构

  • MVC开发模式&三层架构

    MVC:开发模式 三层架构:软件设计架构

  • java|三层架构与MVC

    MVC不是三层架构! 三层架构是java特有的,MVC不管java,PHP,.net等都有这种设计模式 M:mod...

网友评论

    本文标题:MVC与三层架构

    本文链接:https://www.haomeiwen.com/subject/irvagqtx.html