在 Asp.net MVC 中重用 ViewModel

发布于 2024-11-26 03:41:30 字数 401 浏览 2 评论 0原文

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

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

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

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

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

提前致谢。

I have seen lots of blog about MVVM vs MVC and blogs that says thay MVVM is like MVC extension in Windows.

I have one design issue, I have made one win application that uses MVVM , now i have to create a same application in Web, so i decided to MVC pattern in Asp.net, but now again i am stuck at point.

how to reuse ViewModels in MVC? because ViewModel has imports namespace System.Windows.Input.

Is there any alternative soultions?? My primary requirement is reusing application logic?

I have used http://waf.codeplex.com/ WpfApplication framework as refrence.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伊面 2024-12-03 03:41:30

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

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

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

The fact is that the two aren't interchangeable. Nor are they supposed to be (in a practical sense). Yes, you could create ViewModels that could also be reused in ASP.NET MVC. But the amount of abstraction you would have to incorporate would make the exercise useless.

You should not waste your time worrying about this incompatibility, working hard to reduce/eliminate it.

What you should do is move truly reusable code that has no dependencies on either WPF or ASP.NET into reusable libraries. This code is what should be reused in both applications. Your ViewModels and Controllers belong with the application frameworks they were designed to service.

小矜持 2024-12-03 03:41:30

您的业​​务逻辑应该位于模型中,而不是视图模型中。所以你想要重用的是模型,而不是其他。视图模型特定于您的 Windows 应用程序,相当于特定于 Web 应用程序的控制器。

Your business logic should be in your Models, not in your View Models. So it's the Models you want to reuse, nothing else. View Models are specific to your Windows application, and are equivalent to Controllers which are specific to a web application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文