浅谈M、V、VM
来源:互联网 发布:数据库的定义及特点 编辑:程序博客网 时间:2024/06/05 16:50
原博主地址 https://www.cnblogs.com/aaronjs/p/4216697.html
最近在研究MVVM,阅读后有些顿悟
Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与数据库对应的model。
View:也很简单,就是展现出来的用户界面。
基本上,绝大多数软件所做的工作无非就是从数据存储中读出数据,展现到用户界面上,然后从用户界面接收输入,写入到数据存储里面去。所以,对于数据存储(model)和界面(view)这两层,大家基本没什么异议。但是,如何把model展现到view上,以及如何把数据从view写入到model里,不同的人有不同的意见。
MVC派的看法是,界面上的每个变化都是一个事件,我只需要针对每个事件写一堆代码,来把用户的输入转换成model里的对象就行了,这堆代码可以叫controller。
而MVVM派的看法是,我给view里面的各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view 里做了任何操作,这个数据对象也跟着自动更新,这样多美。所以:
ViewModel:就是与界面(view)对应的Model。因为,数据库结构往往是不能直接跟界面控件一一对应上的,所以,需要再定义一个数据对象专门对应view上的控件。而ViewModel的职责就是把model对象封装成可以显示和接受输入的界面数据对象。
至于viewmodel的数据随着view自动刷新,并且同步到model里去,这部分代码可以写成公用的框架,不用程序员自己操心了。
简单的说,ViewModel就是View与Model的连接器,View与Model通过ViewModel实现双向绑定。
- 浅谈M、V、VM
- DM-V-VM
- 浅谈MVC之模型(M)->视图(V)->控制器(C)的加载
- M V C(1)
- O!V&M Shoes
- L V M
- 浅谈JAVA VM 发展
- 浅谈 Java VM 发展
- mcc -v -C -m 'SineWave.m'
- V I M 教 程
- V I M 教 程
- Model1 Model2 M V C
- V I M 教 程
- M—V—C
- 《 V I M 教 程 》
- spring m-v-c demo
- V I M 教 程
- 安装Hyper-v后不能安装VM
- 远程连接MYSQL提示Host is not allowed to connect to this MySQL server
- 【机房管理】上下机
- HDU 2141-Can you find it?
- mysql函数扩展之UDF开发
- 阿里云服务器外部访问8080端口方法-阿里云安全规则
- 浅谈M、V、VM
- How to configure MailEnable to send emails on Google Cloud Platform instance?
- linux环境tcpdump使用时提示无法只好打该用户命令。
- CAP定理
- 【励志好文】老爸推荐的好文,受益良多!
- WebService入门简单示例
- RTOS系统延时与普通软延时的特点与区别
- VB:按“ESC”退出窗体
- Linux常用命令