2

我看过很多关于 MVVM 与 MVC 的博客以及说 MVVM 就像 Windows 中的 MVC 扩展的博客。

我有一个设计问题,我制作了一个使用 MVVM 的 win 应用程序,现在我必须在 Web 中创建一个相同的应用程序,所以我决定在 Asp.net 中使用 MVC 模式,但现在我又陷入了困境。

如何在 MVC 中重用 ViewModel?因为 ViewModel 有导入命名空间 System.Windows.Input。

有没有替代的灵魂?我的主要要求是重用应用程序逻辑?

我使用http://waf.codeplex.com/ WpfApplication 框架作为参考。

提前致谢。

4

2 回答 2

5

事实是两者不可互换。他们也不应该是(在实际意义上)。是的,您可以创建也可以在 ASP.NET MVC 中重用的 ViewModel。但是你必须合并的抽象量会使这个练习变得毫无用处。

您不应该浪费时间担心这种不兼容性,努力减少/消除它。

应该做的是将真正可重用且不依赖于 WPF 或 ASP.NET 的代码移动到可重用库中。这段代码应该在两个应用程序中重用。您的 ViewModel 和 Controller 属于它们旨在服务的应用程序框架。

于 2011-07-25T13:26:14.310 回答
2

您的业​​务逻辑应该在您的模型中,而不是在您的视图模型中。所以这是您要重用的模型,仅此而已。视图模型特定于您的 Windows 应用程序,并且等效于特定于 Web 应用程序的控制器。

于 2011-07-25T12:35:06.067 回答