菜鳥學習小筆記:
MVC :
先說一下作為一個開發人員來說,眾所周知的一個設計模式:MVC,
全稱為:Model-View-Controller.
主要目的:分離檢視(View)和模型(Model).
想必我們用著已經非常習慣,但是他有存在一些問題,這是筆者想通過此文告訴大家的:
1.模型的程式碼少
2.控制器的程式碼卻是越寫越多
3.由於寫的程式碼較多,故不好進行效能測試
MVVM :
全稱:Model-View-ViewModel ,MVVM 模式和 MVC 模式一樣,主要目的也是分離檢視(View)和模型(Model)
概念:
1.在MVVM中,view與viewController正式聯絡在一起,我們可以把他們視為一個元件
2.在MVVM架構中,view與viewController均不能直接引用model,而是通過引用viewModel來間接引用model
3.很多人會問,viewModel是一個什麼樣的架構呢?裡面應該放些什麼樣的東西呢?我們可以在viewModel中放置使用者輸入邏輯,檢視顯示邏輯及傳送網路請求和其他一些程式碼
那麼作為一種新型的架構模式,在使用時應該有哪些地方值得我們注意呢?
1.view 可以引用viewModel,但反過來卻是不行
2.viewModel 可以引用model,但是反過來也不行
3.如果我們違背了上述規則,那麼我們將會無法正常使用MVVM
MVVM自推出以後,便得到了大多數開發人員的認可,那麼MVVC這種設計模式有什麼優點呢?
1.低耦合:view/viewController可以獨立於Model而進行變化和修改,與此同時,一個viewModel可以繫結到不同的view/ViewController上
2.可重用性:可以把一些檢視邏輯放在一個ViewModel裡面,讓很多view/ViewController進行重用
3.獨立開發:通過MVVM,開發人員可以專注於邏輯開發在viewModel裡面,而設計人員也可以專注於頁面設計,並且使用ExpressionBlend可以更加容易設計頁面和生成XAML(Extensible Application Markup Language)程式碼.
4.可測試:通常來說,要進行,介面測試比較困難,而MVVM可以對viewModel進行測試.
通俗總結:
還要看實際情況和個人喜好吧。
MVC 是後端的分層開發概念;
MVVM是前端檢視層的概念,主要關注於 檢視層分離,也就是說:MVVM把前端的檢視層,分為了 三部分 Model, View , VM ViewModel
為什麼有了MVC還要有MVVM
圖片可放大