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