<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## jQuery 和框架的區別 - 數據和視圖的分離,解耦(開放封閉原則) - 以數據驅動視圖,只關心數據變化,DOM 操作被封裝 ## MVC 全稱是 Model View Controller,是模型 (model)-視圖 (view)-控制器 (controller) 的縮寫。它表示的是一種客戶端軟件開發框架。 **特點:單項通訊** ![](https://images2015.cnblogs.com/blog/1017946/201707/1017946-20170708120349925-613338932.png) - 視圖(View):用戶界面。View 傳送指令到 Controller - 控制器(Controller):業務邏輯。Controller 完成業務邏輯后,要求 Model 改變狀態 - 模型(Model):數據保存。Model將新的數據發送到 View,用戶得到反饋 **MVC 的缺點** 雖然 View 和 View Controller 是技術上不同的組件,但它們幾乎總是手牽手在一起,成對的。在典型的 MVC 應用里,許多邏輯被放在 View Controller 里。它們中的一些確實屬于 View Controller,但更多的是所謂的“表示邏輯(presentation logic)”,以 MVVM 屬術語來說,就是那些將 Model 數據轉換為 View 可以呈現的東西的事情,例如將一個 `NSDate` 轉換為一個格式化過的 `NSString`。 我們的圖解里缺少某些東西,那些使我們可以把所有表示邏輯放進去的東西。我們打算將其稱為 “View Model” —— 它位于 View/Controller 與 Model 之間: ![](https://objccn.io/images/issues//issue-13/mvvm.png) 這個圖解準確地描述了什么是 MVVM:一個 MVC 的增強版,我們正式連接了視圖和控制器,并將表示邏輯從 Controller 移出放到一個新的對象里,即 View Model。MVVM 聽起來很復雜,但它本質上就是一個精心優化的 MVC 架構 ## MVP MVP 是從經典的模式MVC演變而來,它們的基本思想有相通的地方:Controller/Presenter負責邏輯的處理,Model提供數據,View負 責顯示。 MVP與MVC有著一個重大的區別:在MVP中View并不直接使用Model,它們之間的通信是通過Presenter (MVC中的Controller)來進行的,所有的交互都發生在Presenter內部,而在MVC中View會從直接Model中讀取數據而不是通過 Controller。 ![](https://images0.cnblogs.com/blog/118538/201401/02135353-876ec115294b4d59a8641f7606d75c28.x-png) 在MVP里,Presenter完全把Model和View進行了分離,主要的程序邏輯在Presenter里實現。而且,Presenter與具體的 View是沒有直接關聯的,而是通過定義好的接口進行交互,從而使得在變更View時候可以保持Presenter的不變,即重用! ## MVVM ### 概念 是 Model-View-ViewModel 的簡寫,MVVM 是一個相當新的架構。 MVVM 在使用當中,通常還會利用雙向綁定技術,使得 Model 變化時,ViewModel 會自動更新,而 ViewModel 變化時,View 也會自動變化。 MVVM 基本上就是 MVC 的改進版,所以很容易就能看到它如何被整合到現有使用典型 MVC 架構的應用中。 ### 優缺點 優點: 1. 方便測試。在MVC下,Controller基本是無法測試的,里面混雜了個各種邏輯,而且分散在不同的地方。有了MVVM我們就可以測試里面的viewModel,來驗證我們的處理結果對不對。 2. 便于代碼的移植。可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。 3. 獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計 缺點: 1. 對于交互很少的webapp,MVVM略顯沉重 2. 對于大型webapp,所有邏輯和數據都在ViewModel里,ViewModel會越來越復雜。 ### MVVM 框架的三大要素 - 響應式:vue如何監聽到 data 的每個屬性變化? - 模板引擎:vue 的模板如何被解析,指令如何處理? - 渲染:vue 的模板如何被渲染成 html ?以及渲染過程
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看