我目前正在开发一个具有相当标准的解耦结构的项目,如下所示:
存储库 -> 服务 -> 查看模型 -> View
存储库和服务层使用 POCO 对象。 View 模型是从这些对象构建的,调用服务方法,然后传递给 View 。
我有两个前端项目,一个使用 MVC3 的 Web 应用程序和一个使用 WPF 的桌面应用程序。 View 模型包含在独立的类库中,因为两个应用程序的大多数 View 模型都是相同的。 (有一些异常(exception),但这些都是使用每个项目的特定虚拟机来处理的)
目前我正处于奠定基础并且 MVC 方面全部工作的阶段。我现在正在研究 WPF 方面并考虑使用 MVVM 轻型工具包。
我的问题是:鉴于 View 模型在 MVC 和 WPF 应用程序之间共享,MVVM 轻型工具包(或任何其他工具包)是否合适? MVVM light 工具包是否不应该与 MVC3 一起使用有什么原因?
我用谷歌搜索了很长一段时间,没有找到任何具体的东西。预先感谢您的想法。
最佳答案
恕我直言,答案是您将无法在 MVVM 和 MVC 之间成功共享 ViewModel。尽管它们被称为相同的东西,但它们非常适合特定的实现。例如,当您为 WPF 编写 VM 时,您需要实现命令、依赖双向绑定(bind)等,这些都与 MVC 无关。 MVVM Light 帮助您使用 WPF/SL 实现 MVVM,这与 MVC 完全无关。
我的情况与您类似,只是我的 Web 项目是标准 Webforms 而不是 MVC。我在 .Web 和 .Desktop 项目之间共享我的 .Business、.Model 项目引用,但显然每个项目都对业务(如果使用服务,则为服务)层的结果执行自己的操作。我对 WPF 很陌生,如果我的评估有误,希望有人纠正我。
关于wpf - MVVM 和 MVC 之间共享模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423643/