MVC设计模式及其工作原理

 

 MVC模式介绍:

MVC即模型Model、视图View、控制器Controller,用一种将业务逻辑、数据、视图分离的方式组织架构代码,通过分离关注点的方式来支持改进应用组织方式,其促成了业务数据Model从用户界面View中分离出来,还有第三个组成部分Controller负责管理传统意义上的业务逻辑和用户输入,通常将MVC模式看作架构型设计模式。

M: model(模型层), Dao, Service, pojo,util这些都是模型

V: view(视图层): jsp,html....

C: Controller(控制层): Servlet, Controller...

体现的分层概念: V -->C -->M Servlet --> Service-->Dao

  1. 只能是上层调用下层 Dao -->Service 错误

  2. 不能跨层调用 Servlet -->Dao 错误

  3. 每一层使用的技术的核心类,不能出现在其他层

Service层方法: login(HttpServletRequest request, ....) 错误

java在这个MVC模式上. 提出java经典三层模型:

Web层:

Service层:

Dao层:

大型项目分层:

  1. 先按功能模块分层:

    用户模块, 订单模块, 商品模块,物流模块...

  2. 每个模块包含java经典三层模型

用户模块: 订单模块:

​ |-- web |-- web

​ |--service |--service

​ |--dao |--dao

​ |--pojo |--pojo

​ |--util |--util

MVC所起的作用:

在前端组件式架构开发,常常将视图、数据、业务逻辑等写在一个模块内,如果组件的内容比较多,容易造成层次的混乱,增加开发与维护的成本,而使用MVC模式可以将数据层、视图层、控制器层进行分层组织,用以减少耦合。

mvc工作原理:

Model(模型):一个或多个JavaBean对象,用于存储数据。JavaBean主要提供简单的setXXX方法和getXXX方法,在这些方法当中不涉及对数据的具体处理细节,以便增强模式的通用性

View(视图):一个或多个JSP页面。其作用是向控制器提交必要的数据和显示数据。JSP页面可以使用HTML标记Javabean标记以及Java程序片或者Java表达式来显示数据。视图的主要工作就是显示数据,对数据的逻辑操作由控制器负责。

Controller(控制器):一个或者多个Servlet。控制器负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程;它主要负责两方面的动作,一是把用户的请求分发到相应的模型,二是把模型的改变及时地反映到视图上。

根据视图提交的要求进行数据处理操作,并将有关的结果存储到JavaBean中,然后servlet使用转发或者重定向的方式请求视图中的某个JSP页面显示数据。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC(Model-View-Controller)是一种常用的软件设计模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。这三个部分各自承担不同的职责,相互独立协作,以实现更好的代码组织、可维护性和可扩展性。 下面分别介绍一下这三个部分的职责及其之间的关系: 1. 模型(Model) 模型是应用程序中主要的业务逻辑部分,它管理应用程序的数据和状态,并且定义了与之相关的操作和方法。模型的职责包括: - 存储和管理应用程序的数据和状态; - 提供对数据的访问和操作接口; - 定义应用程序的核心业务逻辑。 2. 视图(View) 视图是应用程序的用户界面部分,它负责展示模型中的数据和状态,并且接收用户的输入事件。视图的职责包括: - 显示模型中的数据和状态; - 接收用户的输入事件(如点击、滑动等); - 将用户的输入事件传递给控制器。 3. 控制器(Controller) 控制器是应用程序的中介部分,它负责协调模型和视图之间的交互,以及处理用户的输入事件。控制器的职责包括: - 接收视图传递过来的用户输入事件; - 根据用户输入事件更新模型中的数据和状态; - 根据模型的变化更新视图的显示; - 协调模型和视图之间的交互。 MVC的关系图如下所示: ![](https://cdn.jsdelivr.net/gh/Yousazoe/picgo-repo/img/20210922131001.png) 上图中,蓝色部分代表模型,绿色部分代表视图,红色部分代表控制器。从图中可以看出,模型和视图之间没有直接的联系,它们通过控制器进行交互。控制器负责接收视图的输入事件,然后修改模型的状态,最后更新视图的显示。这种分离的设计方式使得模型、视图和控制器各自独立,可以方便地进行单独的修改和测试,同时也降低了代码的耦合度,提高了代码的可维护性和可扩展性。 总之,MVC设计模式能够有效地分离应用程序的不同部分,使得每个部分都可以独立地进行开发和测试,从而提高代码的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值