wpf+mvvm代码组织结构_预习一下MVVM

最近因为某个有趣的原因还是来做C#了......好吧主要是对Qt有种不爽,因此WPF大法好。WPF给我印象很深的部分就是数据绑定,而我很久也没做界面了,故借机预习一波MVVM。

MVVM模型,是有着视图(View)

44863a165620e47e8588c047636b0a94.png
View

视图后面有着视图模型(View-Model),数据绑定到上面

3f3f7644bf379a7f6705fd4f6854fc33.png
View-ViewModel

WPF用xxx="{Binding NAME}",就能绑定好。模型(Model)是与数据逻辑相关而与ViewModel交互的部分。这样,Model和View就彻底分开了:

ef84512e26d737cdb663d95512ff4be7.png
MVVM

MVVM,便是Model、View、ViewModel。有什么好处网络上太多了,WHY MVVM这类问题网上也太多了,在此就不做无用功。总结一下:

  1. View是用户看到的,自然希望漂亮就好,不花里胡哨。
  2. ViewModel是隔离Model和View的,即,我可以把ViewModel拆掉,Model能正常运行,可以去测试它(当然把View拆了基本就是一个空白界面了)。
  3. Model是我们的业务逻辑,也就是说,和GUI没关系的东西我们希望放到这里,和GUI有关系的全部扔到ViewModel去。

在代码上:

  • 对于View,我们在WPF的xaml(假设下面这个是Window.xaml)里面放上数据绑定,例如这个ListBox:

7933dedfe0b59ba477826ffd2aeb0e48.png
View

只需要绑定需要的部分,换句话说,不用管不需要的数据。

  • 对于ViewModel,自然第一会想到Window.xaml.cs这个里面,这固然没问题。不过我们可以单独搞个cs文件,把ViewModel分开

3a5bf3db461d631b7bb6336107e8aea4.png
ViewModel

我们应该把所有和GUI有关的问题都放在这解决。

  • 最后是Model,这部分就不贴代码了。我们希望Model能拆开单独跑,所以可以在ViewModel里面new Model,Model提供对应的操作方法,ViewModel去调用这些方法来实现。

</MVVM>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值