MVC,MVVM和MVP

2021-03-25 16:25

阅读:568

标签:mic   技术   操作   src   存在   状态   pre   mvc   处理   

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的变化对于对方都是无感知的,达到解耦的状态。

技术图片

 

MVC,MVVM和MVP

标签:mic   技术   操作   src   存在   状态   pre   mvc   处理   

原文地址:https://www.cnblogs.com/jiefangzhe/p/12655340.html


评论


亲,登录后才可以留言!