VUE 知識點總結

1. 對於設計模式的理解

1首先我們明白是什麼: MVC

Model View Controller 是模型(model)-視圖(view)-控制器(controller)的縮寫

① Model(模型)表示應用程序核心(比如數據庫記錄列表)。
Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。   通常模型對象負責在數據庫中存取數據。

②View(視圖)顯示數據(數據庫記錄)。
View(視圖)是應用程序中處理數據顯示的部分。   通常視圖是依據模型數據創建的。

③Controller(控制器)處理輸入(寫入數據庫記錄)。
Controller(控制器)是應用程序中處理用戶交互的部分。   通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據

mvc 是大後端思想的最主要的基本模型,。將不同的數據功能,以模塊化思想,把不同數據模型,展示在顯示層,將不同的西瓜分給不同的人去做。
更多 MVC、MTV、MVP、CBD、ORM

2然後我們要明白是什麼: MVP

Model View Presenter Model提供數據,View負責顯示,Controller/Presenter負責邏輯的處理

MVP與MVC有着一個重大的區別:在MVP中View並不直接使用Model,它們之間的通信是通過Presenter (MVC中的Controller)來進行的,所有的交互都發生在Presenter內部,而在MVC中View會直接從Model中讀取數據而不是通過 Controller。

1 各個部分之間的通信,都是雙向的。
2 V層與M層不發生聯繫,都是通過P傳遞
3 V層因爲分離了,不進行任何業務處理,可以理解爲被動視圖,而P非常厚,邏輯都寫在這塊

  1. MVVM :Model-View-ViewModel 可以說是MVP 的改進版 MVVM 就是將其中的View 的狀態和行爲抽象化,讓我們將視圖 UI 和業務邏輯分開,VP兩層不在是雙向的數據流向

組成

  • 模型 模型是指代表真實狀態內容的領域模型(面向對象),或指代表內容的數據訪問層(以數據爲中心)。
  • 視圖 就像在MVC和MVP模式中一樣,視圖是用戶在屏幕上看到的結構、佈局和外觀(UI)。
  • 視圖模型 視圖模型是暴露公共屬性和命令的視圖的抽象。MVVM沒有MVC模式的控制器,也沒有MVP模式的presenter,有的是一個綁定器。在視圖模型中,綁定器在視圖和數據綁定器之間進行通信。
  • 綁定器 聲明性數據和命令綁定隱含在MVVM模式中。在Microsoft解決方案堆中,綁定器是一種名爲XAML的標記語言。綁定器使開發人員免於被迫編寫樣板式邏輯來同步視圖模型和視圖。在微軟的堆之外實現時,聲明性數據綁定技術的出現是實現該模式的一個關鍵因素

特點

  • 低耦合。視圖(View)可以獨立於Model變化和修改,一個ViewModel可以綁定到不同的- "View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
  • 可重用性。你可以把一些視圖邏輯放在一個ViewModel裏面,讓很多view重用這段視圖邏輯。
  • .獨立開發。開發人員可以專注於業務邏輯和數據的開發(ViewModel),設計人員可以專注於頁面設計,使用Expression Blend可以很容易設計界面並生成xaml代碼。
  • 可測試。界面素來是比較難於測試的,而現在測試可以針對ViewModel來寫。

3既然都問了什麼是mvvm就應該把原理說下
4雙向數據綁定怎麼實現

重點 Object.defineProperty() 原理 vue的雙向數據綁定的原理相信大家都十分了解;主要是通過ES5的Object對象的defineProperty屬性;重寫data的set和get函數來實現的 解析 雙向數據編訂 是採用數據劫持結合發佈者-訂閱者模式的方式 new一個新的mvvm

1實現一個數據監聽器Observer,能夠對數據對象的所有屬性進行監聽,如有變動可拿到最新值並通知訂閱者
2實現一個指令解析器Compile,對每個元素節點的指令進行掃描和解析,根據指令模板替換數據,以及綁定相應的更新函數
3實現一個Watcher,作爲連接Observer和Compile的橋樑,能夠訂閱並收到每個屬性變動的通知,執行指令綁定的相應回調函數,從而更新視圖
4new一個新的mvvm 入口函數


---待更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章