以下是生活中对于MVC模式的领悟,虽然可笑,轻喷。

2015年 8月 26日

M  => Model       模型 我认为叫做模具更好的理解。批量加工生产具有相同特征的东西。       

V   => View         显示。

C   => Control    控制模型用的。就好比模具师傅吧,统筹调控所有的模具,最后把模具里所生产的产品组合起来,显示到View里面就成了我们的一个产品。

有趣的是,前几天去世界著名美食品牌连锁店——兰州拉面吃饭的时候。看到牛肉拉面、羊肉拉面、红烧土豆拉面、蘑菇拉面...面都是一样的,只是上面的浇头不一样。

拉面的师傅专门负责拉面,我亲切的称Model师傅。

在桌子中间穿梭的老板,店小二,我称之为Controle师傅。

负责做各种面上的浇头的美女师傅,我称之为View师傅。

Control 师傅 收到顾客的HTTP请求,带着顾客的需求参数(什么面,加蛋不加蛋),然后交给了我们的Model师傅,Model师傅根据Control的要求,把面拉宽拉细,拉三两还是拉二两,面拉完之后Control师傅又把拉好的面交给View师傅。View师傅于是在面上加上鸡蛋、牛肉、羊肉、土豆、番茄、豆腐。就这样一份美味的拉面就送到了顾客的手中。完成了一份面的旅程,同时也顺利的完成MVC的过程。

上面的三个师傅各司其职,专业分工十分明确。因此一份香气四溢的拉面,就在顷刻之前送到了我的面前,效率很高。

假若Control师傅要拉面,Model师傅要加浇头,view师傅呢跑去接顾客需求。这样子Control师傅面拉不好,Model师傅的浇头是黑暗料理,view师傅记不住那么多顾客的需求。于是整个餐馆乱成一锅粥,面迟迟不能做好,即使做好了,还是黑暗料理,难吃异常。

生活中的MVC模式,一个吃货的理解。的更多相关文章

  1. php中的MVC模式运用

    [size=5][color=Red]php中的MVC模式运用[/color][/size] 首先我来举个例子: 一个简单的文章显示系统 简单期间,我们假定这个文章系统是只读的,也就是说这个例子将不涉 ...

  2. 稍微谈一下 javascript 开发中的 MVC 模式

    随着前台开发日益受到重视,客户端代码比重日益增加的今天,如何在javascript开发里应用MVC模式,这个问题似乎会一直被提到,所以偶在这里粗略的谈一下自己的看法吧. MVC模式的基本理念,是通过把 ...

  3. 二十八、带给我们一种新的编码思路——EFW框架CS系统开发中的MVC模式探讨

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  4. 二十七、EFW框架BS系统开发中的MVC模式探讨

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  5. AngularJS中的MVC模式

    MVC根据逻辑关系,把前端项目的代码分为三个层次 model:模型,就是业务数据,前端项目中就是JS变量. view:视图,就是业务数据在用户面前的展现,前端项目中就是HTML. controller ...

  6. Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)

    前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的 ...

  7. 云计算 IaaS,SaaS,PaaS的区别?一个通俗易懂的吃货文章

    来自一篇吃货文章了: ———————————————————— &lt;img src="https://pic2.zhimg.com/a55676f8e1b084a398f8cd5 ...

  8. (转)浅析三层架构与MVC模式的区别

    MVC模式介绍: MVC全名是Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据 ...

  9. MVC模式介绍

    MVC是一种通过3个不同部分构造一个软件或组件的理想办法: 1.模型(Model):用于存储数据的对象. 2.视图(View):为模型提供数据显示的对象. 控制器(Controller):负责具体的业 ...

随机推荐

  1. [MCSM] Slice Sampler

    1. 引言 之前介绍的MCMC算法都具有一般性和通用性(这里指Metropolis-Hasting 算法),但也存在一些特殊的依赖于仿真分布特征的MCMC方法.在介绍这一类算法(指Gibbs samp ...

  2. <实训|第十二天>用LVM对linux分区进行动态扩容

    [root@localhost~]#序言在linux中,我们安装软件的途径一般有那些,你们知道吗?在linux中,如果你的磁盘空间不够用了,你知道如何来扩展磁盘吗?动态扩容不仅在工作中还是在其他方面都 ...

  3. <实训|第六天>偷偷让新手的Linux无限重启附linux主机名称不是随便乱改的!

    先说个事情:这几天我正在忙一个项目的设计,8月1号之前要弄出来,所以每天都要弄到很晚,可能更新就有点跟不上了,不过我如果有时间的话,我就更新,没时间的话,我会在8月1号之后统一更新出来,希望大家谅解! ...

  4. Android中this、super的区别

    转载:http://blog.csdn.net/dyllove98/article/details/8826232 在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某 ...

  5. Java 构建器

    假如我们的一个实体类有很多的属性值,但是这些属性值又是可选的.如果我们遇到这样的是类,如何设计出方便的实体类呢? 通常解决办法一: 重叠构造器 public class User { private ...

  6. find常见用法

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  7. iOS开发:读取pdf文件

    方法一:使用QLPreviewController #pragma mark  浏览存在沙盒的文件 -(void)quickLook { QLPreviewController *QLPreviewV ...

  8. 编译php5.4的时候出现错误----configure: error: in `/usr/local/src/php540/php-5.4.0':

    错误如下:checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep - ...

  9. Canvas是什么

    Canvas 是通过 JavaScript 来绘制 2D 图形,是 HTML 5 中新增的元素. Canvas 有如下特点: 绘制的是位图,图像放大后会失真. 不支持事件处理器. 能够以 .png 或 ...

  10. sublime text 如何设置”在浏览器浏览“的快捷键

    sublime text编辑器极其强大 ,但在刚开始用的时候,每次在浏览器中查看非得右键鼠标----”open in browser“,着实觉得麻烦....百度之,上面的方法有很多,但是根据我自己的经 ...