asp.net – MVP MVC和MVVM之间的区别
我已经经历了许多链接/博客.我看到他们中的大多数人不能用外行语言清楚沟通,以及MVP,MVVM和MVC之间的技术差异.我知道每个角色代表什么,也是MVP的工作.但是,如果有人问我同一个问题,真的不明白.为什么我不能在MvP中使用控制器而不是Presenter?为什么在MVVM中查看模型而不是主持人,它是如何不同的?我可以在一个单一的声音中说:“MVC是针对ASP.NET进行了优化的,并且还具有VS中的模板,MVP针对SL / WPF的winforms和MVVM进行了优化,因为它支持内置绑定功能等.但我觉得它不是我必须明白的,而是在细节深入.有些人可以用这个详细的说明和用法和实际的原因来选择一个.谢谢你们…
解决方法
我不能给你一个完整的答案,但是我努力学习一些这些模式,可能可以给你一些主要差异的想法.
我先学MVVM,再MVC.我知道MVP和它在理论上如何工作,但是我从来没有真正地构建了一个应用程序. 设计模式之间的最大区别似乎是谁控制应用程序流程和逻辑. 在MVVM中,您的代码类(ViewModels)是您的应用程序,而您的Views只是一个非常友好的用户界面,它位于应用程序代码之上,并允许用户与其进行交互.这意味着ViewModels有一个巨大的工作,因为它们是您的应用程序,并且负责从应用程序流到业务逻辑的一切. 使用MVC,您的视图是您的应用程序,而您的控制器则处理应用程序流程.应用逻辑通常在ViewModel中找到,它们被认为是MVC中的M的一部分(sidenote:MVC中的M不能被认为与MVVM中的M相同,因为MVC的M层包含比MVVM的M层更多的功能).给用户一个屏幕(View),它们与之交互,然后向Controller提交一些内容,并且Controller决定谁使用数据做什么,并向用户返回一个新的View. 我没有使用MVP,但是我对此的理解与MVC非常相似,但是针对桌面应用程序而不是客户机/服务器应用程序进行了优化.视图是实际的应用程序,而Presenter处理应用程序事件和业务逻辑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – 在ASP.NET MVC2中向客户端返回http 204“
- asp.net – 是否可以使用OAuth2来保护“非休息”应用程序
- Asp.net会话到期重定向到登录页面
- asp.net-mvc – 格式化日期只有月份和年份 – “MMM-yyyy”
- asp.net-mvc – 从ASP.NET Web API返回一些字段
- 将ASP.NET部署到Windows Azure云,应用程序在云上运行时会出
- asp.net-identity-2 – asp.net mvc identity 2运行两个不同
- ASP.Net Cache是??否在不同的用户会话之间共享?
- asp.net-web-api – GlobalConfiguration – 尝试访问字段’
- SOAP系列目录