1. 程式人生 > >MVC框架(二)----前端與後端MVC、MVVM等設計模式區別與聯絡

MVC框架(二)----前端與後端MVC、MVVM等設計模式區別與聯絡

        上篇文章中提到了前端的框架分類,其中前端JS框架中有些是MVC設計模式,但是java和dotNET平臺也有自己的MVC也有自己的設計模式,這兩類有什麼區別呢,好多猿們甚是不解,旁徵博引後自己總結了一些,寫了下自己的感受。

        java和dotNET框架都是在後臺的,如ssh中的struct、springMVC,和ASP.MVC,說具體點還好理解;那麼時下流行的前端框架angularJS,VUE,js好多也號稱MVC框架,這些都是前端的。

他們兩類直接的關係是神似但形不似,強扯下關係就是如圖關係,後端MVC中的view是前端MCV的全部:


        一般來說,前端MVC大部分都是MVVM(MVC的強型別轉換高階版),包括angularJS(當然後端中也有MVVM的,比如WPF)。

        後來盜用大神一張圖片,跟我講的邏輯基本一致,不過還比較直觀:


        view就是HTML;model就是js寫的class,一般是以伺服器端返回的JSON為主;viewmodel就是view的資料展現形式,裡面有各種屬性和方法可以與view進行繫結;binder就是各種MVC框架,在繫結後,你根據它們的規範實現的viewmodel就可以與view自動的進行互動,例如viewmodel裡的屬性的值發生變化的時候view上繫結對應屬性的html也會自動更新。