开发手册 欢迎您!
软件开发者资料库

MVVM - 简介

MVVM简介 - 从简单和简单的步骤开始学习MVVM,从基本到高级概念,包括简介,优势,责任,第一个应用程序,连接视图,连接ViewModel,WPF数据绑定,WPF数据模板,View和ViewModel通信,层次结构和导航,验证,依赖注入,事件,单元测试,框架,面试问题。

组织代码的有序且可能最可重用的方法是使用"MVVM"模式. 模型,视图,ViewModel(MVVM模式)旨在指导您如何组织和构建代码以编写可维护,可测试和可扩展的应用程序.

型号 : 它只保存数据,与任何业务逻辑无关.

ViewModel : 它充当模型和视图之间的链接/连接,使东西看起来很漂亮.

查看 : 它只保存格式化的数据,并基本上将所有内容委托给模型.

View Model

分离演示文稿

为避免将应用程序逻辑放入代码隐藏或XAML中而导致的问题,最好使用称为分离演示的技术.我们试图避免这种情况,我们将使用XAML和代码隐藏,直接使用用户界面对象所需的最小值.用户界面类还包含复杂交互行为,应用程序逻辑以及其他所有内容的代码,如左图所示.

分隔演示文稿

  • 使用单独的演示文稿,用户界面类更简单.它当然有XAML,但背后的代码尽可能少.

  • 应用程序逻辑属于一个单独的类,通常被称为作为模型.

  • 然而,这不是全部.如果你停在这里,你可能会重复一个非常常见的错误,这会导致你走上数据绑定疯狂的道路.

  • 许多开发人员都在尝试使用数据绑定将XAML中的元素直接连接到模型中的属性.

  • 现在有时这可能没问题,但通常情况并非如此.问题是模型完全关注应用程序的作用,而不是用户如何与应用程序交互.

  • 你的方式现有数据通常与内部结构有些不同.

  • 此外,大多数用户界面都有一些不属于应用程序模型的状态.

  • 例如,如果您的用户界面使用拖放操作,则需要跟踪某些内容,例如现在正在拖动的项目,其外观应如何更改当它移动到可能的放置目标时,以及当项目被拖过它们时,这些放置目标也可能会发生变化.

  • 这种状态会变得异常复杂并且需要进行全面测试.

  • 实际上,您通常希望在用户界面和模型之间使用其他类.这有两个重要的作用.

    • 首先,它使您的应用程序模型适应特定的用户界面视图.

    • 其次,它是任何重要的交互逻辑所在的地方,而且,我指的是让您的用户界面以您想要的方式运行所需的代码.