MVPVM模式介绍
一、概述
MVPVM即:Model-View-Presenter-ViewModel。此模式是MVVM和MVP模式的結(jié)合體。但是交互模式發(fā)生了比較大的變化。
MVVM參考本博客文章: iOS-MVVM-模式介紹 MVP參考本博客文章: MVP模式介紹?
二、原理: Presenter同時持有View、Model、ViewModel,負責協(xié)調(diào)三方的之間的交互。?
? ? ? ? View持有ViewModel。ViewModel是View展示數(shù)據(jù)的一個映射,兩者之間雙向綁定:? ? ? ? ? (1)當View的數(shù)據(jù)發(fā)生變化時,View將數(shù)據(jù)更改同步到ViewModel。比如用戶在輸入框輸入了內(nèi)容。? ? ? ? ? (2)View監(jiān)聽ViewModel的數(shù)據(jù)變化,當ViewModel的數(shù)據(jù)發(fā)生變化時,View根據(jù)ViewModel的數(shù)據(jù)更新UI顯示。比如更新來自后端的數(shù)據(jù)列表。?
? ? ? ? Presenter持有View,并且View的動作響應傳遞至Presenter。當收到View的動作響應之后,Presenter通過Model獲取后端或者數(shù)據(jù)庫數(shù)據(jù),請求參數(shù)來自于Presenter持有的ViewModel。?
? ? ? ? 當Model請求到數(shù)據(jù)之后,將數(shù)據(jù)返回給Presenter,Presenter將返回的數(shù)據(jù)傳遞至ViewModel,由于View和ViewModel之間的綁定關(guān)系,View會根據(jù)ViewModel的數(shù)據(jù)更新UI顯示。
? ? ? ? 模式圖如下:
MVPVM即:Model-View-Presenter-ViewModel。此模式是MVVM和MVP模式的結(jié)合體。但是交互模式發(fā)生了比較大的變化。
MVVM參考本博客文章: iOS-MVVM-模式介紹 MVP參考本博客文章: MVP模式介紹?
二、原理: Presenter同時持有View、Model、ViewModel,負責協(xié)調(diào)三方的之間的交互。?
? ? ? ? View持有ViewModel。ViewModel是View展示數(shù)據(jù)的一個映射,兩者之間雙向綁定:? ? ? ? ? (1)當View的數(shù)據(jù)發(fā)生變化時,View將數(shù)據(jù)更改同步到ViewModel。比如用戶在輸入框輸入了內(nèi)容。? ? ? ? ? (2)View監(jiān)聽ViewModel的數(shù)據(jù)變化,當ViewModel的數(shù)據(jù)發(fā)生變化時,View根據(jù)ViewModel的數(shù)據(jù)更新UI顯示。比如更新來自后端的數(shù)據(jù)列表。?
? ? ? ? Presenter持有View,并且View的動作響應傳遞至Presenter。當收到View的動作響應之后,Presenter通過Model獲取后端或者數(shù)據(jù)庫數(shù)據(jù),請求參數(shù)來自于Presenter持有的ViewModel。?
? ? ? ? 當Model請求到數(shù)據(jù)之后,將數(shù)據(jù)返回給Presenter,Presenter將返回的數(shù)據(jù)傳遞至ViewModel,由于View和ViewModel之間的綁定關(guān)系,View會根據(jù)ViewModel的數(shù)據(jù)更新UI顯示。
? ? ? ? 模式圖如下:
總結(jié)
- 上一篇: Block总结
- 下一篇: 双层板在哪层覆铜_PCB覆铜箔层压板分类