以下是生活中对于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. [转]linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  2. Node 进阶:express 默认日志组件 morgan 从入门使用到源码剖析

    本文摘录自个人总结<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 章节概览 morgan是express默认的日志中间件, ...

  3. [转] Asp.net vNext webapi 自托管

    [声明]本文转自:http://www.cnblogs.com/ListenCode/p/4206204.html 转载需注明! 微软推出的Asp.net vNext(asp.net 5.0)的其中的 ...

  4. [HDU5903]Square Distance(DP)

    题意:给一个字符串t ,求与这个序列刚好有m个位置字符不同的由两个相同的串拼接起来的字符串 s,要求字典序最小的答案. 分析:按照贪心的想法,肯定在前面让字母尽量小,尽可能的填a,但问题是不知道前面填 ...

  5. 求height数组

    procedure getheight; var i,po1,po2:longint; begin to len do begin ; po1:=i;po2:=sa[rank[i]-]; while ...

  6. equals()的用法

    比如,两个对象 c1, c2; 那么,c1.equals(c2) == true; 则表示c1, c2两个变量的值是一致的 equals适用于所有对象,这是一种特殊方法 equals这种表现形式我们一 ...

  7. JS 获取上一层目录

    派生到我的代码片 <script type="text/javascript"> //返回当前工作目录 function GetCurrDir(){ var pathN ...

  8. Sublime Text 3 常用插件以及安装方法(vue 插件)

    使用Package Control组件安装 也可以安装package control组件,然后直接在线安装: 按Ctrl+` 调出console 粘贴以下代码到底部命令行并回车: { import u ...

  9. java/c# 判断点是否在多边形区域内

    java/c# 判断点是否在多边形区域内 年06月29日 ⁄ 综合 ⁄ 共 1547字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近帮别人解决了一个问题,如何判断一个坐标点,是否在多边形区域内(二维). ...

  10. AsyncTask异步任务类使用学习

    new MyAsyncTask() .execute("http://pic.baike.soso.com/p/20120716/bki-20120716095331-640956396.j ...