浅谈MVC MVP MVVM
復(fù)雜的軟件必須有清晰合理的架構(gòu),否則無法開發(fā)和維護(hù)。
MVC(Model-View-Controller)是最常見的軟件架構(gòu)之一,業(yè)界有著廣泛應(yīng)用。
它本身很容易理解,但是要講清楚,它與衍生的 MVP 和 MVVM 架構(gòu)的區(qū)別就不容易了。
一、MVC
MVC模式的意思可以分成三個部分。
● 視圖(View):用戶界面。
● 控制器(Controller):業(yè)務(wù)邏輯
● 模型(Model):數(shù)據(jù)保存
各部分之間的通信方式如下。
1、View 傳送指令到 Controller
2、Controller 完成業(yè)務(wù)邏輯后,要求 Model 改變狀態(tài)
3、Model 將新的數(shù)據(jù)發(fā)送到 View,用戶得到反饋
所有通信都是單向的。
?
二、MVP
MVP 模式將 Controller 改名為 Presenter,同時改變了通信方向。
1、各部分之間的通信,都是雙向的。
2、View 與 Model 不發(fā)生聯(lián)系,都通過 Presenter 傳遞。
3、View 非常薄,不部署任何業(yè)務(wù)邏輯,稱為"被動視圖"(Passive View),即沒有任何主動性,而 Presenter非常厚,所有邏輯都部署在那里。
?
三、MVVM
MVVM 模式將 Presenter 改名為ViewModel,基本上與 MVP 模式完全一致。
唯一的區(qū)別是,它采用雙向綁定(data-binding):View的變動,自動反映在 ViewModel,反之亦然。Angular 和 Ember 都采用這種模式。
?
轉(zhuǎn)載于:https://www.cnblogs.com/minigrasshopper/p/7693246.html
總結(jié)
以上是生活随笔為你收集整理的浅谈MVC MVP MVVM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BAT执行DOS命令查找本地浏览器
- 下一篇: springMVC-配置Bean