加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MVP MVC和MVVM之间的区别

发布时间:2020-12-15 23:44:09 所属栏目:asp.Net 来源:网络整理
导读:我已经经历了许多链接/博客.我看到他们中的大多数人不能用外行语言清楚沟通,以及MVP,MVVM和MVC之间的技术差异.我知道每个角色代表什么,也是MVP的工作.但是,如果有人问我同一个问题,真的不明白.为什么我不能在MvP中使用控制器而不是Presenter?为什么在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处理应用程序事件和业务逻辑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读