1.什么是MVC
a:其实我们日常开发中的activity,Fragment和xml界面就相当于是一个MVC的架构模式,但是往往Activity中需要处理绑定UI,用户交互,以及数据处理
b: 这种开发方式的缺点就是业务量复杂的时候一个activity过于臃肿,但是页面不复杂的情况下使用这种模式相对就比较简单了
View:xml实例化
Mode:数据获取那一层
Controller:Activity/Fragment:业务逻辑和一些布局初始化都在这一层,几乎所有的除了xml,东西都写在这里
2.什么是MVP
a:让宿主专注于UI逻辑和用户交互处理,把宿主业务逻辑抽离出来,所欲跟android Api无关的业务逻辑都有Presenter来完成,缺点:增加了代码量
b:Activity和Fragment为View层,负责UI逻辑和用户交互
c:Presenter为业务层,处理业务逻辑,发起数据请求
d:Model层中包含着具体的数据请求,数据源
3.什么是MVVM
a:双向绑定,数据变更UI会自动刷新,UI变化了数据也会自动同步到最新
b:数据驱动UI:比如User中的字段,数据变化了,可以做到自动刷新UI
一般来说,我们都是结合dataBinding来进行使用
android {
dataBinding {
enabled = true
}
}