MVC模式浅谈

前言

MVC模式最先兴起与桌面系统的开发但是没有流行起来,在后来的web开发中MVC模式占到了举足轻重的地位。但不管实在桌面系统还是在web开发中MVC模式的基本思想都是将业务逻辑与页面展示分开,从而实现高内聚低耦合的系统开发。

传统的MVC模式

传统的MVC模式中,将程序的开发划分为Model(模型),View(视图),Controller(控制器),其各部分的主要职责如下:
Model:这里的Modle包括业务模型与数据模型,接收Controller传递过来的请求并完成相应的业务处理操作,将处理后的结果封装到数据模型实体类中。在状态改变的时候可向View发出相应的通知。
Controller:主要接收View的请求,调用相应Model进行业务处理,处理完之后选择相应的View进行展示
View:主要是界面展示,发送请求给Controller处理相关业务,也可直接调用Model中的数据,进行页面数据的渲染。

传统的MVC模式之间的层次关系图图下:
在这里插入图片描述
注意:在传统的MVC模式中View和Model之间是直接进行交互的,所以此种状况下的Controller并不充当这两者之间的中间件桥梁。

Web MVC模式

java web应用开发中通常分层开发的,即分为表现层——业务逻辑层——数据持久层,而MVC模式主要对对表现层进行进一步的划分,将其划分成模型(model),视图(view),控制器(controller)
最典型的web MVC模式就是JSP+Servler+JavaBean
控制器(controller):对应servlet,主要接受用户的请求,调用相应的业务逻辑去处理相应的业务需求,最后返回合适的视图给用户
模型(model):对应JavaBean,主要是对数据的存取与封装,管理应用程序中的数据和值。
视图(view):对应jsp页面,将封装好的数据渲染到页面,展示给用户
Web MVC模式之间的层次关系图图下:
在这里插入图片描述

Web MVC模式 与 传统的MVC模式最大的区别就在与Web MVC模式中的View层和Model层之间是不能直接相互通信的,此时Controller才充当这两者之间交互的桥梁,事实上也是如此。虽然jsp页面中可以编写Java代码,但在实际开发中是绝对不允许的,更何况现在开发大多都采用静态模板引擎来代替jsp了。
一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。

Web MVC模式与三层架构

Java开发的三层架构是指将应用程序划分成表现层(UI层),业务逻辑层(Service层)和数据持久层(Dao层),三层开发有利于应用程序的分模块开发,提高开发的效率。
MVC模式把三层架构中的表现层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的业务逻辑层进行对话。
MVC模式和三层架构的关系如下

在这里插入图片描述
MVC模式的主要流程:
controller接收用户请求,调用service层进行业务逻辑的操作,将返回的数据封装到JavaBean中并将其填充到域中,最后由控制器选择返回合适的视图并且从域中取出数据进行视图渲染。

以上是本人对MVC模式的简单灼见,如有不对的地方请指出来互相学习~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值