我们有一个用 WPF/WCF 编写的富客户端应用程序,并打算在 ASP.net 中创建一个配套网站(如果可能,使用 MVC)。
我被要求弄清楚我们当前的代码库中有多少是可以重用的(由一个单独的团队)——而且我对 ASP.net 几乎没有经验。
我们将重用域模型,但是分离出 ViewModel 的 WPF 特定部分并在 MVC 中重用与 WPF 无关的部分有什么意义吗?它甚至遵循相同的范式吗?我们专门使用 RelayCommands 进行命令,因此很容易将所包含的方法包装在 ASP.net 特定的内容中......但是 UI 特定的内容如何 - 例如ASP.net 是否使用 INotifyPropertyChanged - 或者它如何处理 UI 更新?
对我来说这没有任何意义。您的模型应该包含所有重要的业务逻辑代码,并且应该是最大可重用性的点。您的视图模型应仅包含表示逻辑,并且由于这对于桌面和 Web 应用程序来说非常不同,因此重用它们是没有意义的。
MVC 不使用任何 UI 更新绑定机制,因为 Web 应用程序本质上是无状态的。实际上,您很可能最终会在 MVC 应用程序中使用视图模型,但在 MVC 中,这些模型充当简单的数据传输对象 (DTO),用于向视图提供数据以便为每个 HTTP 请求进行渲染。渲染视图后,您需要返回服务器来更新视图模型并重新渲染视图。
或者,您当然可以使用脚本更新 UI 客户端。淘汰赛.js http://knockoutjs.com/是一个很好的 JS 库,用于客户端视图模型/视图绑定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)