MV*模式的個人理解

看風景就發表於2016-10-15

MV*模式主要解決的問題就是 View程式碼難以維護的問題。

MV*模式將View中的邏輯分離出去,形成一個弱邏輯的易於維護的檢視。

MV*中的*是Model和View的橋樑,負責保持Model和View的同步。

MVC模式

Model,View,Controler,Controler負責檢視邏輯,資料流向為 View -> Controler,Controler -> Model,Model -> View,三種呈環形結構

MVC缺陷 

MVP模式

Model,View,Presenter,Presenter負責檢視邏輯,資料流向為 View <-> Presentrer, Presenter <-> Model, Persenter成為View和Model的中介,不允許Model和View直接通訊,MVP一定程度上解決了MVC的問題,但是Presenter將會非常複雜

MVVM模式

Model,View,ViewModel,ViewModel負責檢視邏輯,資料流向 View <-> ViewModel, ViewModel <-> Model, 進化版的MVP模式,將Presenter改為ViewModel。其中的Model為純資料,不包括檢視元素狀態(顯示/隱藏,高亮,禁用/啟用等)。而多數的MVVM框架,ViewModel包含Model,ViewModel是資料和業務邏輯的集合體,View和ViewModel的同步是採用data-binding的形式。實際上,形成如下演變模式, View <-> ViewModel,說是VVM模式也許更貼切,目前這種方式被推崇為前端領域的最佳實踐

 

相關文章