MVC,MVP,MVVM那些事儿

2017-01-10  本文已影响58人  evelynlab

MV*的讨论太多了。在此做粗浅的理解。对设计模式的理解也许会渐进式加深吧。

MVC

mvc解决的问题是:m和v的分离, m不应当因为v的改变而改变。所以v到m是单向依赖。
mvc的一般流程:view触发事件--> controller处理业务-->触发数据更新-->不知道谁更新了model数据--> model 带着数据回到了view --> view更新了数据。
但是,在mvc里,当有变化的时候要同时维护三个对象和三个交互,这显然让事情复杂化了。为了改进mvc,出现了mvp(不知道可不可以这么理解)

MVP (presenter)

mvp切断了view和model的联系。 让view只和presenter交互,减少在需求变化中需要维护的对象的数量。

MVVM(viewmodel)

MVVM的数据是双向绑定。当有更新时它让更维护变得更简单了。mvvm做服务端是不适用的。

它们的共同点

mv*都是基于数据驱动的。维护数据比维护UI爽多了(think of jquery)。

它们的区别:

上一篇下一篇

猜你喜欢

热点阅读