關(guān)于angular中 MVC / MVVM / MVP的理解
MVC?
? ?全稱全稱Model(模型)-View(視圖)-Controller(控制器),這是一種開發(fā)模式芹橡,他的好處是可以將界面和業(yè)務(wù)邏輯分離告丢。
M:model ? ? 應(yīng)用程序數(shù)據(jù)部分
V:view ? ? html部分
C:controller ? ?控制器?
? ? ? ?angualr js所有通信部分都是單向綁定
? MVC流動(dòng)方式
? ? 1. view傳送指令到controller
? ? 2.controller完成業(yè)務(wù)邏輯,要求model改變數(shù)據(jù)
? ? 3.model將新的數(shù)據(jù)發(fā)送到view ,用戶得到反饋
MVVM?
? ? ? ?模式將 Presenter 改名為 ViewModel志膀,基本上與 MVP 模式完全一致人灼。
? ? ? ? 唯一的區(qū)別是骨饿,它采用雙向綁定(data-binding):View的變動(dòng)亏栈,自動(dòng)反映在 ViewModel,反之亦然宏赘。Angular和Ember都采用這種模式绒北。
MVP
? ? ? ?模式將 Controller 改名為 Presenter,同時(shí)改變了通信方向察署。
?MVP流動(dòng)方式
? ? ? 1.個(gè)部分之間的通信都是雙向的
? ? ?2.view 和model你發(fā)生聯(lián)系 ,通過persenter進(jìn)行傳遞
?? ? ?3.view被動(dòng)視圖,沒有任何主動(dòng)性,persenter所有的邏輯都部署在這里
(完)