MVVM – 简介


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

模型- 它只是保存数据,与任何业务逻辑无关。

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

视图- 它只是保存格式化数据,本质上将所有内容委托给模型。

查看模型

分开演示

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

分开演示
  • 通过分离的呈现,用户界面类变得更加简单。当然,它有 XAML,但背后的代码只做实用的事情。

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

  • 然而,这并不是故事的全部。如果您停在这里,您可能会重复一个非常常见的错误,这将导致您走上数据绑定疯狂之路。

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

  • 有时这可能没问题,但通常情况并非如此。问题是模型完全关心应用程序做什么,而不关心用户如何与应用程序交互。

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

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

  • 例如,如果您的用户界面使用拖放操作,则需要跟踪诸如被拖动的项目现在所在的位置、当其在可能的放置目标上移动时其外观应如何变化以及这些放置目标可能如何变化等信息。当项目被拖到它们上面时会发生变化。

  • 这种状态可能会变得异常复杂,并且需要进行彻底的测试。

  • 在实践中,您通常需要在用户界面和模型之间放置一些其他类。这有两个重要作用。

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

    • 其次,它是任何重要交互逻辑所在的地方,我的意思是让用户界面按照您想要的方式运行所需的代码。