1. 程式人生 > >軟件架構,WEB - MVC,MVP,MVVM

軟件架構,WEB - MVC,MVP,MVVM

lock 數據 c中 ref 業務邏輯 軟件架構 alt .html web

參考

  1. https://www.zhihu.com/question/20148405/answer/107071448
  2. http://www.cnblogs.com/indream/p/3602348.html
  3. https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501628911140e1cb6ce7d42e5af81480f7ecd5802000 (MVC)
  4. https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001475449022563a6591e6373324d1abd93e0e3fa04397f000 (MVVM)

MVC

模型(model)-視圖(view)-控制器(controller)

  1. 模型 - 用於封裝與業務邏輯相關的數據以及對數據的處理方法。
  2. 視圖 - 顯示數據
  3. 控制器 - 處理業務邏輯,控制流程。
    技術分享圖片

MVP

MVVM

Model-View-ViewModel

技術分享圖片

自我理解

在MVVM中,一旦Model有更新,立即反映到View。一旦View有更新,立即反映到Model。這就是雙向綁定。例如在廖老師的例子中,更新一個JS對象(Model)時,View中立刻更新。不用再去操作DOM(在MVC中,操作DOM這個行為是Controller處理業務的過程)。而在MVC中,在Model中改了數據,View不能馬上更新,因為需要Controller控制這個數據更新扔給View,所以這是單向的。

軟件架構,WEB - MVC,MVP,MVVM