【问题标题】:what is the difference between presenter in mvp and view-model in mvvmmvp中的presenter和mvvm中的view-model有什么区别
【发布时间】:2018-05-06 08:43:46
【问题描述】:

我需要澄清我对 mvp 和 mvvm 设计模式的一些疑虑

1) 在更新视图的 mvp 和 mvvm 中。presenter/view-model 设置 要在视图中显示的数据或视图从中检索数据 演示者/视图模型并显示它

2) 演示者和视图模型之间的区别。 "MVVM 使用数据绑定来更新视图,而演示者使用 更新视图的传统方法”。是吗?

【问题讨论】:

    标签: android mvvm kotlin android-mvp android-mvvm


    【解决方案1】:

    在 MVP 中,Presenter 通常通过接口持有对 View 的引用。 当 Presenter 计算新数据时,由他负责调用 View/Interface 上的正确方法来更新 UI。

    在 MVVM 中,ViewModel “简单地公开”数据(通常通过 LiveData 或 Rx),因此可以观察。它不对谁在观察数据以及如何处理数据负责。然后视图在 ViewModel 中观察该数据,并在数据更改时更新其 UI。

    要全面了解 MVC、MVP 和 MVVM 之间的区别,我建议查看 https://www.youtube.com/watch?v=QrbhPcbZv0I

    【讨论】:

    • 所以在 MVP 中,presenter 更新视图,而在 MVVM 中,视图负责通过从视图模型中获取数据来更新视图。我说的对吗?
    • 好吧,在这两种情况下,视图(Activity、Fragment 等)都负责更新视图(例如 setText)。但是,区别在于 View 和 Presenter/ViewModel 之间的通信。 Presenter 持有对 View 的引用,并告诉它更新。 ViewModel 暴露数据(not 引用视图也是如此),当观察到的数据发生变化时,View 决定如何处理
    • 是的,明白了。关于 mvp 和 mvvm 的任何简单示例。就像 mvvm 和 mvp 模式的简单人物详细信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多