【问题标题】:How is data binding different from using an interface?数据绑定与使用接口有何不同?
【发布时间】:2017-09-27 18:24:44
【问题描述】:

使用 MVVM,ViewModel 取代了 Presenter 来驱动 View。 不同之处在于 ViewModel 使用 DataBinding 驱动视图, 而 Presenter 通过界面驱动视图。

引用自this site.

我找不到好的解释:

  1. 什么是接口?
  2. 什么是数据绑定?
  3. 它们有何不同?
  4. 他们的差异如何转化为 MVVM 和 MVP?

注意:理想的答案与 iOS/Swift 中的实现有关,但我仍然有兴趣阅读那些没有的答案。

【问题讨论】:

    标签: design-patterns mvvm architecture mvp


    【解决方案1】:
    1. 什么是接口?

    在这种情况下,接口将是一个代表视图抽象的面向对象的接口。演示者通过接口与视图进行通信,因为它促进了松散耦合的设计。这允许将不同的具体视图实现连接到演示者,最常见的是用于测试的假冒。

    1. 什么是数据绑定?

    数据绑定是一种机制,通常由开发环境/语言提供,可自动同步 UI 控件和代码构造(例如对象或变量)。这样做的好处是开发人员可以避免编写自己的(通常是乏味的)代码来保持 UI 控件和内存中的对象同步。

    1. 它们有何不同?

    接口是面向对象编程语言的一个特性。数据绑定是开发环境/语言的一项功能。

    1. 他们的差异如何转化为 MVVM 和 MVP?

    这将取决于底层实现技术。我对 iOS/Swift 不熟悉,因此无法在此处具体评论。但是,我会看到演示者/视图模型如何与视图通信的关键区别。在 MVP 中,我希望看到代码设置和获取 UI 值并通过事件响应用户操作。从代码的角度来看,这一切都是非常手动的。在 MVVM 中,我希望看到更少的此类代码,因为交互将使用开发环境的数据绑定机制进行连接。通常,这是一个设计时过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多