一、mvvm框架旨在将应用程序的数据(模型)、用户界面(视图)、和业务逻辑(视图模型)分离,提高应用程序的可扩展性,可维护性和可测试性
二、详细介绍:
1) 模型(Model):表示应用程序的数据和业务逻辑,负责管理数据的获取、存储、验证和处理,以及定义业务规则和算法。
2)视图(View):视图是用户界面的可见部分,负责展示数据给用户并接受用户输入,可以是窗体,界面,控件或其他任何用户界面元素。
3)视图模型(ViewModel):视图模型是模型和视图之间的中介,他从模型中获取数据并将其转换为视图所需要的格式和结构,同时还定义与视图交互的命令和操作,
以响应用户输入。视图模型通常还实现了一些额外的逻辑,比如数据绑定、验证和通知。
三、优点和作用
mvvm框架通过数据绑定机制实现了视图和视图模型之间的松耦合,视图通过绑定到视图模型暴露的属性和命令来显示和操作数据,而无需直接和模型交互。
这种解耦有助于更好的组织和测试应用程序的不同部分。mvvm架构通常使用数据绑定技术,允许开发者直接操作数据,从而简化了前段开发的复杂性。
四、常用的mvvm框架
在WPF下最常使用的就是mvvm框架了,常见的一些开源的mvvm框架:Toolkit.mvvm、MvvmLight、Prism8.0等。也有一些自造的自定义的mvvm框架。(实现mvvm框架有一些常用的具体工具,里面有丰富的.net类来实现这种框架,比如Toolkit.mvvm 、MvvmLight(已停止更新)等,接下来文章主要讲述Community ToolKit.Mvvm)