MVP架构介绍https://blog.csdn.net/qq_17798399/article/details/95934476

Android 的当前开发MVP已成为开发主流模式,不过MVC的模式,当前项目中还在使用,MVC是从Java web中嫁接过来的。

在Android中,Activity/Fragment既充当控制层又充当视图层,这就导致了V和C这两层耦合在一起,当业务比较复杂时,Activity/Fragment文件就很庞大,导致难以维护和测试,所以如今大多用MVP进行开发。

MVC模式

M 指模型层(网络IO、文件IO等操作)
V 指视图层(对应Android中的Layout和Activity/Fragment)
C 指控制层(对应Android中的Activity/Fragment)

优点:

  • 重用性高 (多个 View 能共享一个 Model)
  • 耦合性低(三个模块保持相对独立)
  • 灵活性和可配置性(Controller 可以用来连接不同的 Model 和 View 去完成用户的需求,根据用户的需求选择适当的 Model 进行处理,然后选择适当的的 View 将处理结果显示给用户)
  • 模块开发

标准MVC 组件类型的关系和功能:

来源百度

MVC组件之间的典型合作:

来源wiki

在Android中,按照MVC三层来说
通常把Activity 当作Controller层,xml 当作View层,Activity 需要显示视图,这样View 和Controller并不能完全分离,也带来了Activity繁重的问题,Activity参与了大量的逻辑处理和视图交互,
MVC在Android 中表现的很尴尬,不明确
 

更多相关文章

  1. Android 启动模式
  2. 动画的两种实现模式Animation
  3. 如何修改Android设备添加重启、飞行模式、静音模式等功能(二)
  4. 装饰者模式及其应用
  5. 关于使用 Android MVVM + LiveData 模式的一些建议
  6. 彻底分清Activity的启动模式,明白什么情况下应该使用哪种模式
  7. Android:Android涉及到的设计模式

随机推荐

  1. 字节跳动不讲武德,居然笔试的时候出这种题
  2. OpenDaylight控制器MD-SAL解析
  3. 路由器的命令和rip路由协议,静态和动态路
  4. 小白前端入门笔记(10),怎么设置网站内部的超
  5. Small Structures: 超陡亚阈值摆幅的范德
  6. 帮你光速脱单!程序员找对象指南
  7. 透过 OKR 进行项目过程管理
  8. 十次九输!我的词汇量被自己写的小游戏吊打
  9. Spring MVC项目基本配置
  10. Spark Streaming 在数据平台日志解析功能