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

Design patterns 数据绑定与使用接口有何不同?,design-patterns,mvvm,architecture,mvp,Design Patterns,Mvvm,Architecture,Mvp,使用MVVM,ViewModel在驱动视图时取代了Presenter。 不同之处在于ViewModel通过数据绑定驱动视图, 演示者使用界面驱动视图时 引用自 我很难找到好的解释: 什么是接口 什么是数据绑定 它们有何不同 如何将它们的差异转化为MVVM与MVP 注意:理想的答案应该与iOS/Swift中的实现有关,但我仍然有兴趣阅读那些没有的答案 什么是接口 在此上下文中,接口将是表示视图抽象的面向对象接口。演示者通过接口与视图通信,因为它促进了松散耦合的设计。这允许将不同的具体视图实现连接到

使用MVVM,ViewModel在驱动视图时取代了Presenter。 不同之处在于ViewModel通过数据绑定驱动视图, 演示者使用界面驱动视图时

引用自

我很难找到好的解释:

  • 什么是接口
  • 什么是数据绑定
  • 它们有何不同
  • 如何将它们的差异转化为MVVM与MVP
  • 注意:理想的答案应该与iOS/Swift中的实现有关,但我仍然有兴趣阅读那些没有的答案

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

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

  • 它们有何不同
  • 接口是面向对象编程语言的一个特征。数据绑定是开发环境/语言的一个特性

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