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

时间:2017-09-27 09:23:24

标签: design-patterns mvvm architecture mvp

  

使用MVVM,ViewModel会在驱动View时取代Presenter。   区别在于ViewModel使用DataBinding驱动视图,   而Presenter通过界面驱动视图。

引用来自this site.

我无法找到好的解释:

  1. 什么是界面?
  2. 什么是数据绑定?
  3. 他们有什么不同?
  4. 他们的差异如何转化为MVVM与MVP?
  5. 注意:理想的答案与iOS / Swift中的实现有关,但我仍然有兴趣阅读不适合的答案。

1 个答案:

答案 0 :(得分:1)

  
      
  1. 什么是界面?
  2.   

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

  
      
  1. 什么是数据绑定?
  2.   

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

  
      
  1. 他们有什么不同?
  2.   

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

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

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