📜  MVVMÂ框架

📅  最后修改于: 2020-11-19 05:27:38             🧑  作者: Mango


在本章中,我们将讨论可用的MVVM工具包或框架。您也可以使用这些框架,这样就不必编写一堆重复的代码即可自己实现MVVM模式。这是一些最受欢迎的框架-

  • 棱镜
  • MVVM灯
  • Caliburn Micro

MVVM框架

棱镜

Prism以示例和文档的形式提供指导,可帮助您轻松设计和构建功能丰富,灵活且易于维护的Windows Presentation Foundation(WPF)桌面应用程序。使用Microsoft Silverlight浏览器插件和Windows应用程序构建的富Internet应用程序(RIA)。

  • Prism使用体现重要建筑设计原则的设计模式,例如关注点分离和松散耦合。

  • Prism可帮助您使用松散耦合的组件设计和构建应用程序,这些组件可以独立发展,但可以轻松,无缝地集成到整个应用程序中。

  • 这些类型的应用程序称为复合应用程序。

Prism具有许多现成的功能。以下是棱镜的一些重要特征。

MVVM模式

Prism支持MVVM模式。它具有Bindablebase类,该类类似于前面各章中实现的类。

它具有一个灵活的ViewModelLocator,它具有约定,但允许您重写这些约定,并以松散耦合的方式声明性地连接Views和ViewModels。

模块化

它是将您的代码分解成部分完全松散耦合的类库,并在运行时将它们组合在一起形成最终用户的凝聚整体的能力,而代码仍保持完全解耦。

UI组成/区域

它是将视图插入容器而无需执行视图的能力,需要明确地引用UI容器本身。

导航

Prism具有位于区域顶部的导航功能,例如向前和向后导航以及允许您的视图模型直接参与导航过程的导航堆栈。

指令

Prism具有命令,因此它们具有与我们在前面的章节中使用的MyICommand非常相似的委托命令,除了它具有一些额外的健壮性来保护您免受内存泄漏。

发布/订阅事件

Prism还支持发布/订阅事件。这些是松散耦合的事件,在这些事件中,发布者和订阅者可以具有不同的生存期,并且不必通过事件进行相互通信就可以相互引用。

MVVM灯

MVVM Light由Laurent Bugnion生产,可帮助您将View与Model分离,从而创建更清洁,更易于维护和扩展的应用程序。

  • 它还可以创建可测试的应用程序,并允许您拥有更薄的用户界面层(这很难自动测试)。

  • 该工具包特别强调了将用户界面打开和编辑到Blend中的过程,包括创建设计时数据,使Blend用户在使用数据控件时能够“看到一些东西”。

Caliburn Micro

这是另一个小型开放源代码框架,可帮助您实现MVVM模式,并支持许多现成的功能。

  • Caliburn Micro是一个小型但功能强大的框架,旨在跨所有XAML平台构建应用程序。

  • 借助对MVVM和其他经过验证的UI模式的强大支持,Caliburn Micro将使您能够快速构建解决方案,而无需牺牲代码质量或可测试性。