数据绑定与使用接口有何不同?

问题描述:

使用MVVM,ViewModel将替代Presenter来驱动视图。 不同之处在于ViewModel使用DataBinding驱动视图, 而Presenter使用接口驱动视图。数据绑定与使用接口有何不同?

引述来自this site.

采取我无法找到好的解释:

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

注意:理想的答案将适用于iOS/Swift中的实现,但我仍然有兴趣阅读没有的答案。

  1. 什么是接口?

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

  1. 什么是数据绑定?

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

  1. 它们有什么不同?

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

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

这取决于底层的实现技术。我不熟悉iOS/Swift,因此无法在此专门发表评论。但是,我会看到主持人/视图模型与视图之间的关键差异。在MVP中,我希望看到代码设置和UI值以及通过事件响应用户操作。从代码的角度来看,这都是非常手动的。在MVVM中,我期望看到更少的这种类型的代码,因为交互将使用开发环境的数据绑定机制进行连接。通常,这是一个设计过程。