介绍
模型-视图-视图模型 (MVVM) 模式是一种软件设计模式。 设计模式是一组规则和模板,有助于使应用程序代码变得更佳或更一致。 MVVM 模式用于帮助从用户界面绘制代码中分离应用的行为逻辑,并采用支持单元测试的方式来实现这一点。
示例方案
假设公司为人力资源部门生产管理软件。 他们使用该软件来管理和查看有关公司员工的详细信息。 当前系统基于 Web。 你的任务是创建一款可以使用 Web 系统所使用的同一后端 API 的移动应用。 你了解到后端 API 和 Web 前端完全由单元测试覆盖。 并且希望为移动应用保持该标准。 你听说 MVVM 模式可以帮助设计移动应用并能最大程度实现可测试性,所以打算尝试使用该模式。
MVVM 本身是一种设计模式,是许多框架和编程工具包的基础。 大多数这些框架还提供其他功能(如导航和消息提取),可帮助 MVVM 进行单元测试。 本讨论将侧重于该模式的基础知识,因为框架在实现过程中可能存在很大差异。
在本单元中,你将了解 MVVM 模式的各个部分以及模型、视图和视图模型的职责。 然后你将在视图模型中编写代码,通过独立于 UI 库(甚至 .NET MAUI 本身)的方式处理应用程序行为。
学习内容
在本模块中,你将:
- 确定何时使用“模型-视图-视图模型”模式。
- 使用视图模型驱动可视化行为。
- 通过可绑定数据的属性提高代码可测试性。
先决条件
- 安装有 .NET MAUI 工作负载的 Visual Studio 2022
- 可选:安装了 .NET MAUI 扩展的 Visual Studio Code 和安装了 .NET MAUI 工作负载的 .NET SDK
- 熟悉中间编程概念,如接口、类和属性。
- 能够编写 XAML 代码。
- 完成了本训练路径中的上一个模块,或了解数据绑定在 .NET MAUI 中的工作原理。
.NET MAUI 开发的要求
要使用 .NET 9 创建 .NET MAUI 应用,需要安装已安装以下工作负载的 Visual Studio 版本 17.12 或更高版本:
- .NET Multi-Platform App UI 开发
此外,如果要生成 .NET MAUI Blazor 应用,必须安装 ASP.NET 和 Web 开发工作负载。
有关设置的演练,请参阅文档。
使用 Visual Studio Code 进行开发
如果要在 macOS 或 Linux 上进行开发,则需要安装 Visual Studio Code 和 .NET MAUI 扩展,以及 .NET SDK 和 .NET MAUI 工作负载。 有关设置的演练,请参阅文档。