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

标签 .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?

最佳答案

MVP 模式会给你这种逻辑分离,但我相信 MVP 的优势在于编写可测试的代码。

我建议阅读 Bob 叔叔 (Robert C Martin) 的书,名为敏捷原则、模式和实践。

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

在这种情况下,我建议阅读 Rocky Lhotka 的名为 Expert C# Business Objects 的书。这本书很容易阅读,他解释了如何分离逻辑层。他的目标也是尽量减少 UI 代码。

关于.net - 当我们过渡到 WPF 和 MVVM 时,哪种 .NET 2.0 开发模式(MVP、MVC 等)最适合允许轻松重用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1103370/

相关文章:

c# - 在.NET中,System.Threading.Thread.CurrentPrincipal对于不同的线程是一样的

.net - TFS 2010 为 .Net 3.5 应用程序创建 .Net 4.0 XmlSerializers DLL

c# - 从框架中清除当前内容?

wpf - 如何添加验证以查看模型属性或如何实现 INotifyDataErrorInfo

ruby-on-rails - Rails 中的胖模型瘦 Controller

Java MVC架构

c# - 如何在属性中存储多个值类型?

.net - http url 中的加号是什么意思? -> HTTP ://+:80

c# - WPF JumpList 在 Windows 10 中不起作用

c# - 代码比较