2017-09-27 65 views
0

使用MVVM,ViewModel將替代Presenter來驅動視圖。 不同之處在於ViewModel使用DataBinding驅動視圖, 而Presenter使用接口驅動視圖。數據綁定與使用接口有何不同?

引述來自this site.

採取我無法找到好的解釋:

  1. 什麼是接口?
  2. 什麼是數據綁定?
  3. 它們有什麼不同?
  4. 他們的差異如何轉化爲MVVM vs MVP?

注意:理想的答案將適用於iOS/Swift中的實現,但我仍然有興趣閱讀沒有的答案。

回答

1
  1. 什麼是接口?

在這種情況下,該接口將是一個面向對象的接口,其表示的視圖的抽象。演示者通過接口與視圖進行通信,因爲它促進了鬆散耦合的設計。這允許不同的具體視圖實現與演示者連接,最典型的是用於測試的假冒。

  1. 什麼是數據綁定?

數據綁定是一種機制,通常由開發環境/語言自動synchronises UI控件和代碼構造例如對象或變量提供的。這樣做的好處是開發人員可以避免編寫自己的,通常很乏味的代碼來保持UI控件和內存中的對象同步。

  1. 它們有什麼不同?

接口是面向對象編程語言的一個特性。數據綁定是開發環境/語言的一項功能。

  1. 他們的差異如何轉化爲MVVM vs MVP?

這取決於底層的實現技術。我不熟悉iOS/Swift,因此無法在此專門發表評論。但是,我會看到主持人/視圖模型與視圖之間的關鍵差異。在MVP中,我希望看到代碼設置和UI值以及通過事件響應用戶操作。從代碼的角度來看,這都是非常手動的。在MVVM中,我期望看到更少的這種類型的代碼,因爲交互將使用開發環境的數據綁定機制進行連接。通常,這是一個設計過程。