MVC,MVP,MVVM,MOVE

对于ui设计模式,好多人都知道大概是怎么回事,去没有很好地区别;
下面我们来盘点一下目前比较常见的ui设计模式:

MVC

M(Model)
独立于UI,它一般用于管理数据

V(View)
图元或视图、UI

C(Control)
接收交互,并把交互转换成ModelView的指令

png png

HMVC

也叫做LayeredMVC
意义和上面的mvc差不多,不过存在以下的一些区别

  1. HMVC可以说是按功能块之类的规则进行了划分各管各的
  2. HMVC如果需要和其他View交互,就必须通过上层Control

png

硬要说MVC和MVC的区别,那就是是否有分层!

MVA

MV就是MVCMV,但是其中将C替换成A(Adapt)的概念。
而View和Model在MVA中是不直连的,但是View和Model却是相互监听的! 而且A一般是处理成接口的形式 png

MVP

MVP看起来和MVA很像,但是presenter却不是接口! png

MVVM

这个其实和MVA,MVP差别都不大,但是呢,VM是执行的是数据绑定,执行的内容上和presenteradapter不同 png

本来还有个Move的,但是看看wikipedia上没有,就不写了!