MVC设计模式

MVC设计模式

什么是MVC设计模式?

软件工程中的一种软件架构模式。它强制性地使软件系统的输入-处理和输出分开,把软件分为三个基本部分:
模型(Model)视图(View)  控制器(Controller)

MVC设计模式图

视图:负责格式化数据并把它们呈现给用户,包括数据展示,用户交互,数据验证,界面设计等功能。

控制器:负责接收并转发请求,对请求进行处理后指派视图并将相应结果发送给客户端。

模型:模型对象拥有最多的处理任务,是应用程序的主体部分,它负责数据逻辑(业务规则)的处理和实现数据操作。

JSP Model1

当业务流程较为简单的时候,可以把控制器的功能交给视图来实现,这种模式称为JSP Model 1.故Model 1模式只有视图
和模型,没有控制器(即JSP +JavaBean) 如下图所示

JSP Model 1

	从上图可以发现Model 1 的基础是JSP,它由JSP和JavaBean组成,JSP从HTTP Request中获取所需的数据,并进行
业务逻辑的处理,然后将结果通过HTTP Response返回给前端浏览器。从中可见,Model 1 从一定程度上实现了MVC,即
JSP将控制器和视图层合二为一,JavaBean为模型层。其中JSP身兼多职,既要负责视图层的数据展示,又要负责业务流程
的控制,结构较为混乱,并且也不是我们所希望的松耦合架构模式,所以当业务流程复杂的时候并不推荐使用。

JSP Model2

当业务流程复杂的时候,就需要把业务流程交给控制器来实现,JSP专注于视图的展现即可。这种模式就是JSP Model2
(JSP + Servlet + JavaBean) 如下图所示

JSP Model2

	Model2是将控制层(Servlet)单独划分出来负责业务流程的控制,接收请求,创建所需的JavaBean实例,并将处理
后的数据再返回给视图层(JSP)进行界面数据展示。这样的结构清晰,效果明显优化很多,并且也是一个松耦合的架构模
式,所以除非项目非常简单,一般情况下建议使用JSP Model2.

MVC处理过程

MVC处理过程

  1. 首先视图提供系统与用户交互的界面,并发送用户输入给控制器。
  2. 控制器接收用户的请求,并决定应该调用哪些模型来进行处理。
  3. 模型根据用户请求进行相关的业务逻辑处理,并返回处理结果(数据)。
  4. 控制器根据返回的处理结果,调用相应的视图格式化模型返回的数据,并通过视图呈现给用户结果。

MVC优缺点

优点

 多视图共享一个模型,大大提高代码的可重用性。
 MVC三个模块相互独立,松耦合架构。
 控制器提高了应用程序的灵活性和可配置性。
 有利于软件工程化管理
 	总之,我们可以通过MVC的设计模式最终可以打造出一个松耦合+高重用性+高可适用性的完美架构,
 当然这也是架构设计的目标之一。

缺点

原理复杂
增加了系统结构和实现的负责性
视图对模型数据的低效率访问
	对于MVC来说,它并不适合小型甚至中型的项目,花费大量时间将MVC应用到规模并不是很大的应用
程序通常得不偿失,所以对于MVC设计模式的使用要根据具体的应用场景来决定。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值