zoukankan      html  css  js  c++  java
  • MVC,MVVM和MVP

    MVC:

    • View是展示给外部的界面
    • Model是Controller内部管理的数据模型,和各种数据操作工具
    • Controller负责将Model的变化更新到View
    • Controller负责处理来自View的事件

    MVVM:

    • Model提供数据模型
    • View负责视图展示
    • ViewModel用于描述View的状态,例如View的颜色、显示的文字等属性类的信息,将View抽象成了一个特殊的模型,并且持有和管理Model,维护业务逻辑

    MVP:

    • MVP的 V 层是由UIViewController 和UIView 共同组成
    • view 将委托presenter 对它自己的操作(简单来说就是presenter发命令来控制view的交互)
    • presenter拥有对 view交互的逻辑
    • presenter跟model层通信,并将数据转化成对适应UI的数据并更新view

      MVP是为了将M与V进行解耦(等一系列好处),解耦的方式,是通过增加了一层Presenter层。但是耦合这种东西是客观存在的。我们通过这种方式解耦了M和V,但是会增加V和P,M和P的耦合。增加的Presenter层对外暴露的接口,不应该包含model的任何相关信息。并且P和V之间应该是面向接口编程。这样如果界面的变化或者m的变化对于对方都是无感知的,达到解耦的状态。

  • 相关阅读:
    npm install、npm install --save与npm install --save-dev、npm install -g区别
    react的几种loader
    React的Sass配置
    react中使用css的7种方式
    linux安装字体
    反向代理和正向代理的解释
    开源Odoo ERP13.2版本模块功能
    Git+码云构建自己的共享仓库
    .Net Core的依赖注入
    libpcap使用(1)
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/12655340.html
Copyright © 2011-2022 走看看