我正在开始一个将在WPF中作为桌面应用程序开发的新项目。我花了几天时间研究开发模式。似乎MVVM是要走的路,因为这将是一个企业应用程序。我担心的是,我发现的所有信息都是2009年的日期。有人能告诉我这些信息是否仍然有效以及我是否朝着正确的方向前进?
先谢谢你。
答案 0 :(得分:4)
是的,MVVM绝对是任何WPF开发的方式
设计模式非常适合WPF框架和绑定系统的性质。如果你有兴趣,我实际上在我的博客上发布了simple MVVM example。
答案 1 :(得分:0)
Caliburn micro是最近推出的MVVM库:http://caliburnmicro.codeplex.com/ 无论如何,MVVM概念自2009年以来没有改变,是的,我可以投票是要走的路。
答案 2 :(得分:0)
是的,你的方向是正确的。
即使某些MVVM信息来自2009年,也会定期更新基于WPF MVVM的框架,例如Caliburn micro和MVVMLight
我建议你花一些时间与其中一个,因为他们真的可以帮助编写干净的代码。我个人喜欢Caliburn Micro。
答案 3 :(得分:0)
是的,MVVM是要走的路。
我在大多数应用程序中都使用过MVVM;当我加入一家新公司时,我看到团队正在努力应对他们在过去一年中所做的WPF应用程序,性能,可维护性,可重用性是一些主要问题;当我查看代码时,解决所有问题的唯一问题是 - MVVM。
我们正确地重构了实现MVVM的代码,并且能够摆脱20-30%的代码,重用大量代码并将性能提升到可接受的水平。
以下是我建议你经历的一些问题 -
What is your experience with abandoning MVVM for UserControl-based WPF architecture?
Starting WPF MVVM. Use a framework?
答案 4 :(得分:0)
一般来说,任何GUI架构模式都可以在WPF中实现和使用,Martin Fowler详细解释了最受欢迎的in his blog。
MVVM作为Presentation Model模式的最新阶段是着名的WPF,因为它为我们提供了开箱即用的同步状态机制,如绑定,简单的视图模型,视图映射,如数据模板等,还有很多例子如何使用WPF构建MVVM。但这取决于特定项目,有时您可以根据MVP模式f.i轻松构建WPF解决方案。如果您使用非mvvm友好的第三方WPF控件(它们使用常规属性而不是依赖属性,因此您不能使用WPF绑定并包含许多方法,这会降低从XAML以声明方式使用控件的能力),应该花费额外的努力将它们用于mvvm模式。