Android Frame 常用框架基础解析

Android MVC MVP MVVM解析

Android Frame Github地址

MVC (Model-View-Controller)

  • Model:数据的获取方式(通过缓存,通过网络,通过本地文件等)以及javabean
  • View:控制数据的展示方式(xml文件)和自定义view
  • Controller:Model和View层的交互从Model获取完数据,返回给View。在MVC中通常是Activity

概述:如果要动态的修改某个按钮的状态可见或者不可见,如果不是使用自定义view,那就只有在Activity中控制,造成Activity即是View层,又是Controller层,代码显得过于臃肿,耦合度太高。

MVP (Model-View-Presenter)

  • Model 数据的获取方式(通过缓存,通过网络,通过本地文件等)以及javabean
  • View 就是纯粹的Activity和Fragment
  • Presenter Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口

概述:view层和model层完全解耦,presenter充当桥梁,presenter层去操作model层,并且将数据返回给view层

MVVM (Model-View-ViewModel)(DataBinding)

  • Model 数据的获取方式(通过缓存,通过网络,通过本地文件等)为ViewModel提供数据
  • View Activity,Fragment,Dialog之类都属于View层
  • ViewModel 逻辑控制层,负责处理数据和处理View层中的业务逻辑

概述:DataBinding应该是作为一个绑定器用于绑定实体类与View层,而我们的业务逻辑和View的控制应该抽象我们的ViewModel层中,可以实现视图和逻辑代码的解耦。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器