MVC 中 Model - View - Controller 中 Model 到底是啥?

常见翻译 Model 为 模型,数据,实体类,百度也这么讲的:model_百度百科

在各大 MVC 框架中,Java 的 Spring MVC 最有代表性,下文以Java为例。

实际编程时,常有用户的个人资料:

基本资料一般包含"名字"、"年龄"、"城市"等,英文字段:id, gender, age, city这些决定了 Model 的样子

在数据库则为 user 表,也就是 Model 在数据库中的样子

在 java 表现为 User 实体类:

数据在 controller 应该是 User 类的实例对象,而如果前后分离的话,这个实例对象会转成 json 格式。

数据在 View 中通常是 html 结构了:

数据从数据库,到 Model(User类),再到 Controller(new User),再到 View ( html / css ),最后在浏览器中看到,如图示

Model 在 MVC 框架的角色是:有很多字段组成的数据。这些数据可以是:类,对象,字典,集合,这些数据准备在 Controller 里被操作(即增删改查),最后在 View 呈现出来。

与 MVC 相对的,还有 MVVM,其中的 VM 是 ViewModel 的缩写,淡化了 Controller.

有些数据不用表现在 View, 如 id,一般用于与后端的 ajax 操作

而有的数据则绑定在 View, 如 表单的字段,还有 clicked selected 这样的 View 状态,与后端没有关系的字段。这些通常就是 ViewModel 的应用场景。

MVVM 在 js 框架里,Model 通常来源于与后端通讯的 ajax 格式的数据,好比 java 的实体类是来源于数据库般,而 ViewModel 则是绑定到View中的数据,像原生 js 的dataset, jQuery 的data(),angular1的 $scope, angular2 的 @Input 等,react 中的 state, vue 中的 data,都是ViewModel 实现方式。

╔————————————╗

│ ** 感 * 谢 * 阅 * 读 ** │

╚————————————╝

model java_编程中的 Model 到底是什么?相关推荐

  1. MVC 中的Model对象

    创建--前台表单数据提交到Controller @model MVC_plug.Models.Students@{ViewBag.Title = "Create"; }<h2 ...

  2. 【18】ASP.NET Core MVC 中的 Model介绍

    ASP.NET Core MVC 中的 Model 在本视频中,我们将通过一个示例讨论 ASP.NET Core MVC 中的 Model. 我们希望最终从 Student 数据库表中查询特定的学生详 ...

  3. Qt Model/View编程介绍

    Qt中包含了一系列的项视图类,它们使用model/view的架构去管理数据之间的关系以及它们被展示给用户的方式.这种由这种架构引进的功能分离特性给了开发者很大的灵活性去自定义自己的展示方式,并且提供了 ...

  4. QT Model/View 编程:MVC模型视图编程:实例实现(二)

    目录 样例001:现有模型中使用视图Using views with an existing model 样例002:使用模型索引 样例003:使用模型 样例004:使用模型的多个视图 样例005:委 ...

  5. java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

    原标题:Java程序员必看之springmvc中的Model对象在重定向中的数据 在springmvc框架中,一个handler方法中的参数可以内置接收Model类型的对象,主要用于存储数据之用,主要 ...

  6. Java的并发编程中的多线程问题到底是怎么回事儿?

    转载自   Java的并发编程中的多线程问题到底是怎么回事儿? 在我之前的一篇<再有人问你Java内存模型是什么,就把这篇文章发给他.>文章中,介绍了Java内存模型,通过这篇文章,大家应 ...

  7. ORM中的Model与DDD中的DomainModel

    0.引言 在现有的系统开发中,大部分的系统应该都会用到ORM,无论用的是EF还是NHibernate.作为对象和持久化数据的桥梁,ORM确实非常方便,以至于在DDD的时候,我们很自然的将 ORM中的M ...

  8. openopc.opcerror: dispatch: 无效的类字符串_实战PyQt5: 064-MV框架中的Model类

    模型(Model)简介 在Model-View框架中,模型(Model)为视图(View)和委托(Delegate)使用数据提供了标准接口.大多数情况下模型中并不真正存储数据(如果只有少量的数据,可以 ...

  9. Django中的Model(字段) - 第五轻柔的code - 博客园

    Django中的Model(字段) - 第五轻柔的code - 博客园 Django ORM 中的批量操作 - AlphaJx - 博客园

最新文章

  1. 基于深度学习的口罩规范佩戴检测【树莓派+PC训练、测试】
  2. python selenium unittest_python+selenium+unittest——ui自动化的轻量级选择
  3. 微型计算机应用重点,微型计算机原理以及的应用考试重点.doc
  4. java实现c#的datetime.ticks_java的Date.getTime()转换成C#的Datetime.ticks | 学步园
  5. 爬虫究竟是合法还是违法的?
  6. MATLAB偏振光的反射与折射,仿真程序动画作品--光的反射与折射*
  7. 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
  8. ad如何计算电路板的pin数量_PCB厂一到八层电路板的叠层设计方式
  9. 2021爱分析·数据智能平台厂商全景报告
  10. python随机生成11位手机号码的用户数据并存入excel表格
  11. python idle界面_3.7 IDLE 用户界面
  12. weka分类器怎么设置样本类别_NeurIPS 2020 | 港中文MMLab自步对比学习: 充分挖掘无监督学习样本...
  13. centos 设置为北京时间
  14. 日期横线转为斜线oracle,excel 函数 日期横线格式自动变成斜线 | excle日期显示横线...
  15. android连连看源代码,#经典连连看#源码分享
  16. SpringBoot从入门到精通教程(三十一)- 爬虫框架集成
  17. 检测设备摄像头、指南针、录音、陀…
  18. 将Openwrt路由器配置为无线交换机,实现同网段无线中继功能
  19. Notes twenty-sixth days-渗透攻击-红队-红队案例
  20. 手游客户端被破解后通过服务器对抗脱机挂---pk服务器签名规则

热门文章

  1. 60个英文阅读网站推荐
  2. 我做数画ai绘画教程日赚过千,良心分享给想兼职赚钱的人
  3. local cell id和cell id区别
  4. 七个不可思议事件谜题
  5. STM32工程添加模块、代码移植操作步骤
  6. DDR(一)——基础理论
  7. 夜来风雨声,MapReduce知多少?
  8. PowerBI-时间智能函数-PARALLELPERIOD
  9. 五分之一金融机构将从2018年开始探索加密货币交易
  10. 高通 UEFI:ABL(一)