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模式也許更貼切,目前這種方式被推崇為前端領域的最佳實踐

