什么是MVVM框架

MVVM是Model-View-ViewModel的简写。它本质上就是MVC的改进版。MVVM模式有助于将应用程序的业务和表示逻辑与用户界面 (UI) 清晰分离。 保持应用程序逻辑和UI之间的清晰分离有助于解决许多开发问题,并使应用程序更易于测试、维护和演变。

什么是MVVM框架

一、什么是MVVM框架

MVVM是Model-View-ViewModel的简写。它本质上就是MVC的改进版。MVVM模式有助于将应用程序的业务和表示逻辑与用户界面 (UI) 清晰分离。 保持应用程序逻辑和UI之间的清晰分离有助于解决许多开发问题,并使应用程序更易于测试、维护和演变。 它还可以显著提高代码重用机会,并允许开发人员和UI设计人员在开发应用各自的部分时更轻松地进行协作。

MVVM模式,应用的UI以及基础表示和业务逻辑被分成三个独立的类:视图,用于封装UI和UI逻辑;视图模型,用于封装表示逻辑和状态;以及模型,用于封装应用的业务逻辑和数据。

二、特点

MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点:

1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的”View”上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

2. 可重用性。可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。

3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。

4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。

使用MVVM来开发用户控件。由于用户控件在大部分情况下不涉及到数据的持久化,所以如果将M纯粹理解为DomainModel的话,使用MVVM模式来进行自定义控件开发实际上可以省略掉M,变成了VVM。

延伸阅读

组成

  • 模型
  • 模型是指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心)。
  • 视图
  • 就像在MVC和MVP模式中一样,视图是用户在屏幕上看到的结构、布局和外观(UI)。
  • 视图模型
  • 视图模型是暴露公共属性和命令的视图的抽象。MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
  • 绑定器
  • 声明性数据和命令绑定隐含在MVVM模式中。在Microsoft解决方案堆中,绑定器是一种名为XAML的标记语言。绑定器使开发人员免于被迫编写样板式逻辑来同步视图模型和视图。在微软的堆之外实现时,声明性数据绑定技术的出现是实现该模式的一个关键因素。

文章标题:什么是MVVM框架,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/62019

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年7月27日 下午9:01
下一篇 2023年7月27日 下午9:12

相关推荐

  • 小孩的乐高编程是什么软件

    乐高编程主要涉及两个核心软件:1、乐高教育WeDo 2.0,2、乐高Mindstorms EV3。 对于初学者,乐高教育WeDo 2.0是一个极佳的起点。该软件不仅为儿童提供了一个易于操作和理解的编程环境,但也鼓励通过实际操作项目学习编程和科学概念。通过使用简单的拖放编程界面,孩子们可以控制和指令乐…

    2024年4月27日
    1000
  • 暑假学什么编程好

    摘要: 选择暑假学习的编程语言主要取决于学习者的兴趣、目标和背景知识。1、Python因其易学性和广泛的应用成为首选;2、JavaScript是Web开发的必学语言;3、Java适用于构建企业级应用;4、C++是理解计算机科学底层概念的关键;5、Swift或Kotlin分别针对iOS和Android…

    2024年4月25日
    3000
  • oa审批系统是什么

    OA审批系统是一个专为企业内部审批流程设计的应用程序或平台,1、简化审批流程、2、提升工作效率、3、降低人为错误风险、4、增强数据透明度。特别是在简化审批流程方面,OA审批系统通过数字化手段,允许员工在线提交各种审批请求,审批人可以远程查看和处理这些请求,无需繁琐的纸质表格和物理签字,为企业节省宝贵…

    2024年1月11日
    49900
  • 什么是系统编程视频

    系统编程通常指为了与计算机硬件和操作系统交互而编写的软件程序。它涉及底层的操作,如管理内存、进程和文件系统。系统编程确保硬件资源有效被利用,并为应用程序提供必要的服务。系统编程视频则是关于教授如何进行系统编程的多媒体资源。这些视频教程通常会深入介绍操作系统的工作原理,指导编程者如何编写能够直接与操作…

    2024年4月27日
    2500
  • 项目质量管理如何提升自己

    项目质量管理是确保项目成功交付的关键要素之一。为了提升自己在项目质量管理方面的能力,可以采取以下几个策略:增强质量意识、深入学习质量管理框架和工具、持续进行质量改进、加强沟通和团队协作、利用技术和软件工具。其中,增强质量意识是基础。这意味着要将质量视为项目成功的重要组成部分,让团队成员意识到他们在确…

    2024年4月10日
    5900
  • 编程 用什么轴对称

    使用Y轴对称。 在编程中,判断或创建一个轴对称的形状或图像时,Y轴对称是最常见的选择之一。它意味着,若将一个形状或图像沿Y轴折叠,两边将会完全重叠。在二维坐标系中,Y轴对称体现为所有点关于Y轴是对称的,即若一个点的坐标为(x, y),则其对称点的坐标为(-x, y)。这一性质在计算机图形学、UI设计…

    2024年4月26日
    2100
  • 河北学编程高中选什么科

    河北编程高中建议选择信息技术、数学强化、物理基础。在这个数字化和信息技术快速发展的时代,编程已经成为一种重要的技能。对于河北的高中生来说,如果对编程感兴趣并打算在这一领域发展,建议选修信息技术来打牢基础。同时,编程常常与逻辑思维和数学问题紧密相关,因此,数学强化同样十分重要,能帮助学生更好地理解编程…

    2024年4月27日
    1700
  • 项目部管理服务目标有哪些

    项目部管理服务目标有:一、实现项目目标;二、满足干系人需求;三、优化资源利用;四、管理项目风险;五、控制成本和时间;六、提高项目质量;七、提升项目管理能力。项目管理的首要目标是实现项目目标。在项目开始之前,需要明确项目的目标,包括时间、成本、范围、质量等方面。项目管理通过制定合理的计划和目标,对项目…

    2023年4月30日
    41700
  • 编程适合什么脸型的人学

    编程是适合所有脸型的人学习的,无需将脸型作为学习编程能力的标准。 其中,1、具有解决问题能力的人尤其适合学习编程。编程不仅仅是关于代码的编写,更是一个解决问题的过程。对于那些天生喜欢挑战,乐于解决复杂问题的人来说,编程提供了一个广阔的平台。他们可以利用逻辑思维来设计算法,通过编码实现这些算法,从而解…

    2024年4月27日
    1900
  • 学编程买什么书好

    学编程买什么书好 学习编程时选择正确的书籍至关重要,主要建议:1、选择基础性强的书籍、2、寻找实践和理论相结合的资料、3、确保书籍与学习目标一致。 对于初学者,强烈推荐选择基础性强的书籍,因为它们为进一步的学习奠定了坚实的基础。这类书籍通常从最基本的概念讲起,逐步深入,使得没有任何编程背景的读者也能…

    2024年4月26日
    1400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部