MVC模式

5 篇文章 0 订阅

简介

看到一篇文章写的“详解MVC模式”,直到我看到这篇文章之前我还是以为MVP是一种设计模式,看到标题的时候我还是那么想想,但是看到作者写的第一行内容之后,我感受到了“真相警告”,他是这么写的:众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,应该说MVC它是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种:Observer (观察者模式), Composite(组合模式)和Strategy(策略模式)。所以说MVC模式又称复合模式。
看了之后我就去搜我们设计模式的23种,发现真的没有MVC,我觉得它比较类似框架,像之前我学习的时候了解到的框架,包含多种设计模式。
MVC 是 Model-View-Control 的简称,即模型-视图-控制器。它是一个存在于服务器 表达层的模型,它将应用分开,改变应用之间的高度耦合。
我主要是想针对自己现在也正在学习后台开发的所遇到的情景进行总结,若是大家需要一些比较更加专业的属于,可以看到我的参考那里,他们写得还是很好的。
看了网上好写图解,我觉得下面这张最是清晰易懂:
在这里插入图片描述

M-Model(模型)

由上面的图我们可以看到,模型他的交互对象是控制器,主要处理业务逻辑(service)以及对数据库的操作(DAO),相当于是主要做事情的部门,接受处理指令并进行处理然后返回处理的结果,所以要是以后有什么结果偏差,我们就需要来这个地方理一下自己的代码逻辑。

V-View(视图)

视图:界面我们能看到的很多组件显示出来的内容加在一起就是视图啦,当我们的控制器收到模型的处理结果的时候,就会推送给界面进行渲染,再把响应回去给控制器。
视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。

C-Control(控制器)

控制器就像是大脑啦!代理处理,很简单的例子就是人,人在看到一些东西的时候,首先经过脑子(排除那些不经过脑子的事情),然后脑子处理之后,分配手或者其他部位作出相应的响应。
当人发出请求的时候,由控制器进行接收,比如一个查询的操作,那就是控制器接收到操作指令之后就发送给模型进行处理,然后模型把正确的数据返回给控制器,因为后台是不会直接把数据由平铺之类的形式返回去给用户,我们一般看到的都是比较美观的数据,那就是经过了视图的处理,视图接收控制器传输过来的数据,通过渲染等操作返回正确的视图,然后控制器再统一的回复(响应)给用户。
在Spring框架,控制器就像是一个容器,在中间进行前后端的一个代理过程,能有解耦的效果。

MVC的优点

  1. 提高代码的重用率
    我们可以直到前端的一个“定义”,我们可视化的,比如手机界面,浏览器界面这些都是前端,那么我们在后端开发的时候,我们不需要每一个界面都做一次响应的模型,我们可以共用一套模型,就可以处理请求啦!
  2. 提高程序的可维护性
    模型,视图控制器的各司其职,使得有任何变动的时候能最大程度耗费最少的人力进行维护。
  3. 利于团队开发
    这样的一种开发合作方式,能够更好的协作,部分模型和存储过程一般可用于工具自动生成,控制器稳定。

参考

详解MVC模式
MVC设计模式
SpringMVC框架理解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值