gpt4 book ai didi

asp.net - MVP MVC 和 MVVM 的区别

转载 作者:行者123 更新时间:2023-12-03 20:50:40 25 4
gpt4 key购买 nike

伙计们,我浏览了许多链接/博客。我看到他们中的大多数人无法用外行语言清晰地交流,以及 MVP、MVVM 和 MVC 之间的技术差异。我知道每个角色代表什么,也曾为 MVP 工作过。但是真的不明白是否有人问我同样的问题。为什么我不能在 MvP 中使用 Controller 而不是 Presenter ?为什么在 MVVM 中查看模型而不是演示者,它有什么不同?我可以用一句话说“MVC 针对 ASP.NET 进行了优化,并且在 VS 中也有模板,MVP 针对 winforms 和针对 SL/WPF 的 MVVM 进行了优化,因为它支持内置绑定(bind)功能等”。但我觉得这不是我必须了解的,而是详细而深入的。有人可以通过详细的解释和用法以及选择一个的实际理由来阐明这一点。谢谢你们...

最佳答案

我不能给你一个完整的答案,但是我确实很难学习其中的一些模式,并且可能能够让你了解一些主要差异。

我先学了MVVM,然后学了MVC。我知道 MVP 以及它在理论上是如何工作的,但是我从未真正用它构建过应用程序。

设计模式之间最大的区别似乎是由谁控制应用程序流程和逻辑。

MVVM ,您的代码类 ( ViewModels ) 是您的应用程序,而您的 Views只是一个非常用户友好的界面,位于应用程序代码之上并允许用户与之交互。这意味着 ViewModels有一个巨大的工作,因为他们是你的应用程序,并负责从应用程序流到业务逻辑的一切。

MVC , 你的 Views是您的应用程序,而您的 Controller处理应用程序流。应用程序逻辑通常位于 ViewModels ,它们被认为是 M 的一部分在 MVC 中(旁注:MVC 中的 M 不能被视为与 MVVM 中的 M 相同,因为 MVC 的 M 层包含比 MVVM 的 M 层更多的功能)。给用户一个屏幕( View ),他们与之交互然后提交一些东西到 Controller ,以及 Controller决定谁处理数据并返回一个新的 View给用户。

我没用过 MVP ,但是我对它的理解与 MVC 非常相似,但针对桌面应用程序而不是客户端/服务器应用程序进行了优化。 Views是实际应用,而 Presenter处理应用程序事件和业务逻辑。

关于asp.net - MVP MVC 和 MVVM 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11400640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com