美文网首页
MVC,MVP,MVVM那些事儿

MVC,MVP,MVVM那些事儿

作者: evelynlab | 来源:发表于2017-01-10 19:52 被阅读58次

    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)。

    它们的区别:

    • 数据流向不同
      上图,看下MVC, MVVM的数据流向:


      Paste_Image.png
    • 解决问题不同
      正如上面所说,MVC最初是为了解决MV的分离。
    • 适用场景不同
      MVVM不太适合后端场景。

    相关文章

      网友评论

          本文标题:MVC,MVP,MVVM那些事儿

          本文链接:https://www.haomeiwen.com/subject/onqlbttx.html