理解MVC

理解MVC(模型-视图-控制器)

在Web开发中,MVC(Model-View-Controller,模型-视图-控制器)是最为通行的应用程序结构。应用被分为三个解藕的对象:模型,视图,控制器,或者说三个层:模型层、视图层、控制层。

MVC的标准定义是(来自J2EE文档):

模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似。

视图(View)被用来组织模型的内容,它从模型那里获得数据并指定这些数据如何表现。

控制器(Controller)定义了应用程序的行为;它负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。

示意图如下:


一种基于Web应用的解释是:

MVC(Model-View-Controller),即把一个应用的输入、输出、处理流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。即是MVC的主要核心。

视图(View):代表用户交互界面,也就是Web的HTML界面。

控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

 

这个MVC设计模式呢,有点像现实中我们去饭店吃饭的过程。当你到一个饭店吃饭,过程是这样的,首先你得点菜啊,不用喊,一个光溜水滑,埋了八汰的小服务员就会整个小本来你面前,“先生,你来点啥?”,你看看菜谱,“给我整个小盘鱼香肉丝,再加一碗米饭。”“好的,先生稍等。”说着服务员一溜小跑朝后厨方向,“那啥……告诉厨师别放姜啊!~~”待会儿,服务员就把你要的饭菜给你端上来了,“先生请慢用~~有啥需要帮忙的,尽管喊我。”你吃的狼吞虎咽的,根本不知道里面放的青椒妈的都没洗~~~

就这么一个简单的你要饭的过程就可以用MVC将其描述一下,你呢就相当于View,服务员呢就相当于Controller,而那个不洗青椒的该死厨师就是 Model。

你一开始跟服务员点菜,就相当于我们的浏览器向服务器发出请求,服务员将你要吃的菜交给后厨的师傅,就相当于控制层将浏览器发过来的请求交给业务逻辑层来处理,而它根本不管厨师到底咋做这个菜,反正你能给我鼓捣出一盘鱼香肉丝就成,青椒洗不洗那是他的事,这也就是我们常从老鸟口中听到的“封装”,封装好啊,封的你连青椒没洗的鱼香肉丝都能吃的喷香,嘻嘻~~当服务员把一盘冒着热气的鱼香肉丝端到你面前的过程,就相当于业务逻辑层处理完后把相应传回给浏览器,然后通过浏览器显示给用户。这样就实现了一个简单的MVC协调交互。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值