zoukankan      html  css  js  c++  java
  • MVC、MVP、MVVM

    MVC的概念相信大家应该都已经不陌生了。简单说来,MVC分别是Model、View和Controller。Model负责数据和访问数据的方法,View负责展示,Controller负责业务逻辑。这样各司其职,各功能模块也就好分离和测试。

    接触前端后,又有了许多新名词。包括MVP和MVVM。今天就来说下这个MVP和MVVM。

    其实他们的区别很简单。先上一张图,然后再来一些文字说明。

    首先明确下传统的MVC模式。这种模式下,用户和View交互,然后View将用户的操作传递给Controller,Controller根据业务逻辑对Model进行更新。而View以观察者方式来判断Model的变化,再来更新View自己。

    优点:不同功能分层,利于功能的模块化。

    缺点:由于Controller依赖于view,因此不易测试。

    然后是MVP。在此模式下,C变为P,既由Controller变为Presenter。此时,View不是通过监听Model进行更新,而是Presenter根据Model的变化然后通过 View提供的接口来对View进行修改。

    优点:功能集中于Presenter,因此便于测试。

    缺点:可能导致Presenter过于庞大。

    最后是MVVM。在此模式下,C变为ViewModel。此时,调用关系和MVP差不多,不同的是ViewModel中有一个专门的Binder用来负责数据的同步。这样即可以保证View和Model保持一致,也可以减少ViewModel的代码量。

    优点:减少Controller大小,易维护。

    缺点:引入过多,不适合小应用。

  • 相关阅读:
    WPS企业版序列号
    局域网远程
    win10 新增、删除、重命名文件需要刷新才更新的问题
    nginx配置文件参数详解
    TCP/IP协议明明白白
    iperf3
    华为交换机流量统计
    delphi 数据库技术沉浮录--谨献给成为历史的BDE
    在ubuntu 上使用wine 运行Delphi win32 应用
    kbmmw 中实现客户端自动更新
  • 原文地址:https://www.cnblogs.com/dhuhank/p/5248793.html
Copyright © 2011-2022 走看看