摘要: (1).MVC: [1]. 背景:Web項目需求日益復雜,為了使項目簡化,采用了MVC架構,實現(xiàn)了前端UI展示, &nbs
(1).MVC:
[1]. 背景:Web項目需求日益復雜,為了使項目簡化,采用了MVC架構,實現(xiàn)了前端UI展示,
與后端業(yè)務邏輯處理的完全分離,利于前后端開發(fā)人員分工協(xié)作,提升效率
[2]. MVC:是Model-View-Controller的縮寫;
[3]. M:Model,模型,主要處理與數(shù)據(jù)庫相關的業(yè)務邏輯;
V:View,視圖,主要負責數(shù)據(jù)在客戶端/瀏覽器上的展示;
C:Controller:控制器,視圖與模型之間傳遞消息,例如接受請求,選擇模型,渲染視圖等;
[4]. MVC基本的運行流程是:
1. 視圖發(fā)起請求-->控制器接收請求-->轉發(fā)給對應模型處理-->模型將結果返回到控制器-->控制器返回到視圖;
2. 簡單描述: View-->Controller-->Model-->Controller-->View, 即 V-C-M-C-V;
3. 整個過程是封閉的,單向的,視圖與模型之間不允許直接直接通訊,必須通過控制器進行;
[5]. MVC開發(fā)的基本原則:
1. 需要服務器端配合,模型Model與控制器Controller都在服務器端完成;
2. 服務器處理過的數(shù)據(jù),必須通過JavaScript在前端進行渲染;
2. '厚模型,薄控制器',業(yè)務邏輯盡可能寫到模型中,控制器僅調用模型提供的接口即可;
(2).MVVM:
[1].隨著前端頁面開發(fā)越來越復雜,用戶與數(shù)據(jù)的交互也越來越頻繁,而很多交互都是臨時性的,沒有必要每一次都要
和服務器中的模型對象進行交互,但是傳統(tǒng)的jQuery等函數(shù)庫又力不從心,這時MVVM模型就應運而生啦。
[2].MVVM: 是Model-View-ViewModel的縮寫;
M:Model層, V:View層, VM: ViewModel層;
[3].Model:JavaScript對象/模型, View:HTML代碼/模板,各司其職,完全分離
[4].VM層:負責Model與View之間的交互,完全使用JavaScript進行編寫;
[5].基本流程: VM層根據(jù)Model數(shù)據(jù)來更新View,或者根據(jù)View來更新Model,這個過程是雙向的,即雙向數(shù)據(jù)綁定;
[6].服務器端只負責更新Model即可,而Model就是一個JavaScript對象,所以服務器只需要返回可被Model解析的
數(shù)據(jù)即可,例如:json,html等,這樣就完全實現(xiàn)了面向接口/API編程。
[7].Vue.js就是一個完全采用了MVVM機制的前端開發(fā)框架,采用從底層向上的漸進式開發(fā)思想,易學易用!
批改老師:韋小寶批改時間:2019-02-11 09:17:53
老師總結:總結的很不錯 mvc的架構大部分都會用于后端框架中 而mvvm基本上都是前端的開發(fā)框架使用的架構