在Asp.net MVC中重用ViewModel

Mir*_*dha 2 asp.net-mvc mvvm asp.net-mvc-viewmodel

我见过很多关于MVVM与MVC和博客的博客,他们说MVVM就像Windows中的MVC扩展.

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

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

还有其他灵魂吗?我的主要要求是重用应用程序逻辑?

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

提前致谢.

小智 5

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

你不应该浪费时间担心这种不相容性,努力减少/消除它.

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