我有一个WPF应用程序应该是紧凑的,可能的内存占用量最小。从流程,几页和网格的角度来看,GUI很简单,但从图形,动画等角度来看,它非常丰富。
我有使用Prism编写应用程序的经验,我非常喜欢它。但它对于简单的任务看起来太沉重了。它不是LOB应用程序,但我仍然需要可测试性,GUI /流程/业务分离等。
我还应该使用MVVM吗?
我不确定在尝试最小化应用程序的内存使用量时,是否应该担心使用MVVM设计模式的开销。
答案 0 :(得分:6)
是的,如果你正在使用WPF,请使用MVVM
WPF的设计使您拥有UI层和数据层,这非常适合MVVM设计模式。我发现它使编码和维护更快更容易。
您根本不必使用完整的MVVM框架,甚至根本不需要使用任何MVVM框架。您可以选择您感兴趣的部分(继承INotifyPropertyChanged
,RelayCommand
或DelegateCommand
的基础对象,消息系统等)并删除所有其他部分。或者你可以建立自己的。
开销量是最小的,绝对不值得避免使用模式,但是一些MVVM框架确实包含不需要的功能并且可能导致一些开销,所以请确保只选择你想要的部分。
关键是,如果您正在使用WPF,请使用MVVM设计模式。它将使您的生活,以及任何未来的项目开发人员生活更加轻松:)
答案 1 :(得分:4)
我真的建议使用MVVM。
我们在一个庞大的项目中使用了这个模式并且效果很好,并提出了以下建议:
this.Datacontext = new TheViewModel();
很好答案 2 :(得分:2)
首先:是的,MVVM是如何构建C#/ WPF应用程序的推荐方法
第二:你可以在没有框架的情况下使用MVVM,然后它就像你构建它一样轻量级。
在此处查看可能的MVVM框架概述: SO in depth discussion of different MVVM frameworks