我有一个WPF应用程序应该是紧凑的,尽可能少的内存占用。从流动,几页和网格的角度来看,GUI很简单,但从图形,动画等角度来看非常丰富。如果我担心内存使用情况,应该避免使用MVVM吗?
我有使用Prism编写应用程序的经验,我非常喜欢它。但对于简单任务而言,这看起来太重了。它不是一个LOB应用程序,但我仍然需要可测试性,GUI /流程/业务分离等。
我应该使用MVVM吗?
我不确定使用MVVM设计模式的开销是否会在尝试最小化我的应用程序的内存使用量时担心或不应该担心。
我有一个WPF应用程序应该是紧凑的,尽可能少的内存占用。从流动,几页和网格的角度来看,GUI很简单,但从图形,动画等角度来看非常丰富。如果我担心内存使用情况,应该避免使用MVVM吗?
我有使用Prism编写应用程序的经验,我非常喜欢它。但对于简单任务而言,这看起来太重了。它不是一个LOB应用程序,但我仍然需要可测试性,GUI /流程/业务分离等。
我应该使用MVVM吗?
我不确定使用MVVM设计模式的开销是否会在尝试最小化我的应用程序的内存使用量时担心或不应该担心。
是,使用MVVM如果你与WPF
WPF设计让您拥有一个用户界面层和数据层的工作,而这完全适合MVVM设计模式。我发现它使编码和维护更加快速和简单。
您不必使用完整的MVVM框架,甚至不必使用任何MVVM框架。您可以挑选您感兴趣的部分(继承INotifyPropertyChanged
,RelayCommand
或DelegateCommand
,消息传递系统等的基础对象),并放弃所有其他部分。或者你可以建立自己的。
开销的数量是最小的,绝对不值得避免使用模式,但是一些MVVM框架确实包含了不必要的功能并且可能会导致一些开销,所以请确保您只挑选出您想要的部分。
问题是,如果您使用WPF,请使用MVVM设计模式。它会让你的生活,以及任何未来的开发人员在项目中工作,生活更容易:)
我真的会推荐使用MVVM。
我们在一个巨大的工程中使用的模式,效果不错,有以下建议:
this.Datacontext = new TheViewModel();
是好的首先:是的,MVVM是一个建议的方式如何构建一个C#/ WPF应用程序
二:你可以不框架使用MVVM的话,那么它为你打造的轻量级它。
在这里寻找可能的MVVM框架概述: SO in depth discussion of different MVVM frameworks
[MvvmLight工具包(http://mvvmlight.codeplex.com/)是非常非常轻巧。事实上,这就是我使用这个框架的原因。它做MVVM,只有MVVM。 – 2012-07-19 13:49:18
另外,请看[Caliburn Micro](http://caliburnmicro.codeplex.com/)。 – Eddie 2012-07-19 14:02:11
我做了一些编辑,以消除这个关闭的额外问题,并投票重新打开这个。 – Rachel 2012-07-19 18:12:07