热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

生活中的MVC模式,一个吃货的理解。

拉三两还是拉二两,面拉完之后Control师傅又把拉好的面交给View师傅。View师傅于是在面上加上鸡蛋、牛肉、羊肉、土豆、番茄、豆腐。就这样一份美味的拉面就送到了顾客的手中。完成了一份面的旅程,同时也顺利的完成MVC的过程

以下是生活中对于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师傅记不住那么多顾客的需求。于是整个餐馆乱成一锅粥,面迟迟不能做好,即使做好了,还是黑暗料理,难吃异常。

 


推荐阅读
  • 本文探讨了dbforms框架的核心设计理念及其背后的技术原理,详细分析了该框架如何通过其独特的设计模式来简化开发流程,并为开发者提供了优化使用方法的建议。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文详细记录了一位具有五年半开发经验的候选人,在华为Android高级开发职位面试过程中的经历。从早晨9点到下午5点半,经过了群体面试、技术面试、综合面试及英语面试等多个环节,最终成功通过考核。文章不仅分享了面试心得,还提供了宝贵的面试题资源。 ... [详细]
  • 探讨了在 Spring MVC 框架下,JSP 页面使用 标签时遇到的数据无法正确显示的问题,并提供了可能的原因和解决方案。 ... [详细]
  • 深入解析Spring Boot自动配置机制
    本文旨在深入探讨Spring Boot的自动配置机制,特别是如何利用配置文件进行有效的设置。通过实例分析,如Http编码自动配置,我们将揭示配置项的具体作用及其背后的实现逻辑。 ... [详细]
author-avatar
舅舅家123_204
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有