當前位置:名人名言大全網 - 名言警句 - 為什麽尤雨溪尤大說VUE沒有完全遵循MVVM?

為什麽尤雨溪尤大說VUE沒有完全遵循MVVM?

嚴格的MVVM要求View不能和Model直接通信,而Vue在組件提供了$refs這個屬性,讓Model可以直接操作View,違反了這壹規定,所以說Vue沒有完全遵循MVVM。

MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。

當然這些事 ViewModel 已經幫我們做了,它可以取出 Model 的數據同時幫忙處理 View 中由於需要展示內容而涉及的業務邏輯。微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節化、可定制化。

同時,在技術層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。

MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的壹種新型架構框架。它立足於原有MVP框架並且把WPF的新特性糅合進去,以應對客戶日益復雜的需求變化。

因為WPF技術出現,從而使MVC架構模式有所改進,MVVM 模式便是使用的是數據綁定基礎架構。它們可以輕松構建UI的必要元素。

可以參考The Composite Application Guidance for WPF(prism)

View綁定到ViewModel,然後執行壹些命令在向它請求壹個動作。而反過來,ViewModel跟Model通訊,告訴它更新來響應UI。這樣便使得為應用構建UI非常的容易。

往壹個應用程序上貼壹個界面越容易,外觀設計師就越容易使用Blend來創建壹個漂亮的界面。同時,當UI和功能越來越松耦合的時候,功能的可測試性就越來越強。

在MVP模式中,為了讓UI層能夠從邏輯層上分離下來,設計師們在UI層與邏輯層之間加了壹層interface。無論是UI開發人員還是數據開發人員,都要尊重這個契約、按照它進行設計和開發。這樣,理想狀態下無論是Web UI還是Window UI就都可以使用同壹套數據邏輯了。

借鑒MVP的IView層,養成習慣。View Model聽起來比Presenter要貼切得多;會把壹些跟事件、命令相關的東西放在MVC的'C',或者是MVVM的'Vm'。