当我们转换到WPF和MVVM时,哪种.NET 2.0开发模式(MVP,MVC等)最适合允许轻松重用?

时间:2009-07-09 11:51:55

标签: .net wpf design-patterns mvvm

我们正在研究MVP这样的模式,这些模式可以帮助我们从逻辑和数据中分离UI。该计划是在游戏的后期,但是努力开始制定我们需要编写更多可测试代码的规则(目前我们写毛球,意大利面,管道胶带和木螺钉等)

当我们研究采用2.0 WinForms应用程序的方法时,我们也会考虑WPF和下一代产品的UI。我们试图通过拉开我们的WinForms UI / View并打开我们的新WPF UI / View来创建一些应该可以在WPF世界中轻松重用的东西。

2.0开发的任何特定模式是否适合自然地滑入WPF的MVVM模式?今天我们应该采用什么模式让我们过渡到WPF而不需要将WPF破解到我们现有的表示逻辑上,或者大量返工/移动(再次)我们的表示逻辑以适应WPF?

1 个答案:

答案 0 :(得分:3)

MVP模式将为您提供逻辑分离,但大多数情况下我认为MVP的优势在于编写可测试的代码。

我建议阅读“鲍勃叔叔”(Robert C Martin)一书,名为“敏捷原则,模式与实践”。

此外,我相信您不一定需要使用像MVP这样的模式来逻辑地将业务逻辑与UI层分开。如果结构合理,那么您的所有业务逻辑将驻留在业务层中,该业务层与UI层完全断开连接。然后,您可以将多个接口(如WinForms,WebForms或WebService,甚至WPF)用于同一业务层,而无需重写任何业务逻辑,验证,授权规则等。

在这种情况下,我建议阅读Rocky Lhotka的专着C#Business Objects的书。这本书很容易阅读,他解释了如何分离逻辑层。他的目标也是将UI代码保持在最低限度。