MVC设计模式及其工作原理

MVC设计模式及其工作原理_第1张图片

MVC设计模式及其工作原理_第2张图片 

 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页面显示数据。

你可能感兴趣的:(mvc,设计模式,java)