MVC,MVP,MVVM

山有木xi發表於2020-03-12

MVC是應用最廣泛的框架之一,一般的MVC分為:model(模型),controller(控制器),view(檢視)

這是基於分層的目的,讓彼此的責任分開

檢視一般透過控制器來和模型聯絡,控制器是模型和檢視的協調者,檢視和模型不直接聯絡

如果有使用者操作應該放在哪呢,MVC間又發生變化了

使用者(User)透過控制器來操作模型以達到檢視的變化


MVP是從經典的MVC上面演變而來,他們的基本思想有相通的地方: C ontroller/Presenter負責邏輯的處理,Model負責提供資料,View負責顯示

但是在MVP中Presenter完全吧View和Model進行了奮力,主要的程式邏輯在Prensenter裡實現,而且Presenter和View沒有直接聯絡,而是透過定義好的介面進行互動,從而使得改變View時保持Presenter的不變



MVVM的代表框架有,Angular.JS,Vue.js,Knockout

相比於前面兩種模式,MVVM只是把MVC的controller和MVP中的presenter換成ViewModel

View的變化會自動更新到ViewModel中,ViewModel的變化也會自動更新到View中

這種自動同步是因為ViewModel中的屬性實現了Observer,當屬性變更時都能觸發對應的操作

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2679858/,如需轉載,請註明出處,否則將追究法律責任。

相關文章