2014年4月27日 星期日
MVC,MVP,MVVM,MVFM 的比較和架構
今天因為在想一些架構上的問題 !
所以就找了一些東西看!
先講一下我看完一些資料後我自己的了解!
Model-View-Controller
的整個流程是
View <-> Controller -> Model -> View
View 被使用者操作 和 cotroller 互相作用 !
如果有 Cotroller 會通知 Model 作一些處理
Model 會通知 View 作一些改變!
為了將 循環 切斷 將切分得更乾淨!
產生了 Model - View - Presenter
Model <-> Presenter <-> View
View 和 Model 完全的切開了 !
但是更新資料卻要透過 Presenter 傳遞 !
基於 MVP 的架構 又多了一種拆分方式!
Model-View-ViewModel
這是一種特化的 MVP 拆分方式!
針對 View 去拆分 Presenter
讓 View 的流程更順 ~~
Model -> ViewModel <-> View
因為針對 View 去拆分 所以 ViewModel 重用的可能性變得很低
所以出現了
Model - View- FunctionModel 的拆分方法
把 針對 View 拆分的方式 改成對一個 Function 去拆分!
這樣會拆分得更細! 重用的機會也就更多!
以上大概就是我讀了下面那樣多篇的一些粗淺心得!
//==================================================
Riot.js — 1Kb 大小的 JavaScript 的 MVP 框架
http://www.oschina.net/translate/riotjs-the-1kb-mvp-framework
MVC和MVP的一些思考
http://www.cnblogs.com/janyou/archive/2008/12/05/1348244.html
Scaling Isomorphic Javascript Code
http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/
[PureMVC]初學者入門教學Part.1 Application與Facde
http://www.ria.tw/2010/08/puremvcpart1-applicationfacde.html
Understanding MVC And MVP (For JavaScript And Backbone Developers)
http://addyosmani.com/blog/understanding-mvc-and-mvp-for-javascript-and-backbone-developers/
MVFM vs MVVM 的分析 比較
http://www.devdiv.com/mvfm_-blog-55433-50285.html
框架設計! 使用分析過程!
http://my.eoe.cn/961719/articles
Python里没有接口,如何写设计模式?
http://www.zhihu.com/question/20685467
充血模型与贫血模型分别适用于何种情况?
http://www.zhihu.com/question/20360521
如何区分javascript设计模式中的中介者模式(Mediator Pattern)与观察者模式(Observer Pattern)?
http://www.zhihu.com/question/21092827
MVC MVP MVVM MVFM 等的分析比較!
http://www.cnblogs.com/indream/p/3602348.html
http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern
http://www.xuebuyuan.com/1230694.html
再抽象一点
http://techsingular.net/?p=1125
訂閱:
張貼留言
(
Atom
)
沒有留言 :
張貼留言