ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

浅谈MVVM开发思想

2022-08-19 19:00:44  阅读:195  来源: 互联网

标签:浅谈 思想 ViewModel 视图 MVVM 后台 Model View


IT流行语:程序=算法+数据结构。还有一句话,程序 = 输入数据 -> 数据处理 -> 输出数据。
如果以编程语言理解这句话,算法是方法,数据结构就是变量的组织形式,那么这句话可以理解为:程序 = 方法 + 变量。变量的组织形式是数据结构,不同的组织形式占用不同的内存存储空间和影响方法使用数据的效率。方法所使用的算法不同,执行的效率不同。程序员的追求是,采用最佳的数据结构组织变量,采用最佳的算法构成方法,得出期望的正确的输出结果。
MVVM是Model-View-ViewModel的缩写,它旨在UI开发中分离解耦视图和业务逻辑,最终达到不动业务逻辑的前提下,美化甚至更换视图。
控制台程序,没有一个用户可以观测程序运行状况,控制程序运行的接口,后台的变量赋值和方法调用都是以黑盒形式运行,它就像一个只有ViewModel和Model的后台应用程序。UI开发增加View层,通过数据绑定,可以观测后台变量的值,为后台变量赋值;通过命令,用户可以通过鼠标和键盘操作View,去触发后台调用执行方法;通过消息可以让后台影响View的视图效果。最终利用MVVM,可以观测后台程序的执行情况,有机会控制后台的执行流程,后台也可以改变视图效果展示给用户。
MVVM的优点如下:

  1. 低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
  2. 可重用性:可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。
  3. 独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xml代码。
  4. 可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
  5. 后台代码不掺杂UI元素,视图层不包含业务逻辑

image

使用MVVM思想开发的应用程序一般会有4个文件夹,分别是Views,ViewModels,Models,Services。物理目录也反映了分层解耦的思想。

标签:浅谈,思想,ViewModel,视图,MVVM,后台,Model,View
来源: https://www.cnblogs.com/LiuwayLi/p/16593920.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有