MVP系列文章(一) - MVC 与 MVP

前言

MVP系列文章
MVP系列文章(一) - MVC 与 MVP
MVP系列文章(二) - 优化attach()、detach()方法
MVP系列文章(三) - 动态代理优化每次判断 View != null
MVP系列文章(四)- GC回收原理分析
MVP系列文章(五)- 泛型擦除
MVP系列文章(六)- 代码架构与运行时架构
MVP系列文章(七)- 知识梳理

1. MVC

M:model,数据层,联网请求的数据写到这里;
V:View,界面层,Activity、Fragment等界面显示;
C:Controal,控制层

2. MVP

M:model 数据层,联网请求数据写到这里;
V:view 界面层,与 View 的操作都写到这里,Activity、Fragment、ViewGroup;
P:presenter 解耦关联层(model - view),可能还有一些额外的逻辑:数据的一些处理逻辑;

3. MVC 与 MVP对比分析

MVP优点:
1>:如果哪个部分出了问题方便修改,数据层出问题找M、界面层出问题找V、数据处理出问题找P,如果只是界面上的调整,方便修改;
2>:方便多人进行协作开发;
3>:业务逻辑复用增强(适用于大型项目);
MVP缺点:
1>:接口回调超级多;
2>:类增多,逻辑看上去比较复杂;

你可能感兴趣的:(MVP系列文章(一) - MVC 与 MVP)