浅谈对MVC的理解

浅谈对MVC的理解

MVC模型

MVC:Model - View - Controller,它是于1970年的时候有TrygveReenskaug在Smalltalk-80系统上首次提出。起初并不是MVC,而是MVCE,也就是Model - View - Controller后面多了一个Editor。但是当时提出MVC的理念和现在的理念大致是一样的。都是为了讲数据模型和视图层分离开来:
在这里插入图片描述 1. Model:存储实体类,实现系统中的业务逻辑。

2.View:页面展示(视图模板),展现给用户。

3.Controller:页面的逻辑处理,用来与用户的交互,处理接受的Http请求。然后从Model中获取相应的数据,转发给View进行页面展示。

4.MVC是框架分层的一种搭建思想,在最原始的项目中,没有什么框架分层之说,所有的项目代码都在一个层里,这样会导致代码冗杂,耦合性强,项目迭代升级困难,MVC是一种分层思想,将一个项目代码分为几类,分别放到不同的层里,Model层存储一些数据和业务逻辑,View层处理页面问题,Controller层用来接收人机交互指令。

执行的流程
    而整个执行的流程,当客户端在浏览器中输入url时,即是发送请求到对方服务器中,那服务器根据请求的url找到对应的controller,控制器根据业务的逻辑从model层获取数据,然后把数据返回给特定的view,或者不从model层获取数据,直接就返回到view,view即是客户端看到的界面结果。

再浅谈一下
    在还没有这种结构之前,网站往往都是在html文件中掺杂着服务端的脚本语言,例如:jsp、php等。数据和页面都揉合在一起,耦合度高。项目大的话,就不利于代码的维护。那mvc的思想就能很好的解决这个问题。
杂项:
    当客户端访问url,并不是直接就根据路由找到controller,这其中它可以经过一些中间件,在中间件中可以进行对用户行为的记录、日志的记录、权限的控制等工作。当controller从model中获取数据时,model层又是如何从数据库中获取到数据的呢?这里可以谈一下orm框架,据我简单的认识,orm即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 ,像MyBatis是半自动orm框架。那当返回数据给view时,它又是怎么显示在view里面的,这个就涉及到模板引擎这个东西,具体怎么实现还真不是很清楚。
最后
    其中这三层具体是怎么实现的,怎么才能自己手动编写代码来搭建属于自己的mvc结构,这还得值得去深究和探索。简单的谈下原理,但并不代表就容易实现,还得继续深入的学习。小白一个,写得不好望多多提点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值