Android 中 MVC 的简单理解

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 中表现的很尴尬,不明确
 

你可能感兴趣的:(Android面试基础,Android)