【Android】软件架构模式
类型
MVC MVP MVVM MVI
(先后循序)
MVC
Model:数据类型和堆数据类型的操作:增删改查
View:视图,展示数据和接受用户交互
Controller:Model和View的连接器。接受View的要求转交给Model去处理。
优点:为了让业务(Model)和视图(View)代码分离,实现解耦。
缺点:
- Model和View是可以直接通信的
- Controler太臃肿
MVP
Presenter代替了Controller
MVC是View和Model直接通信
MVP是让P在中间双向同心,这样MV就不需要接触。
全部给P中转。
优点:
- 解决MVC的C太臃肿
- M和V不直接通信,进一步降低耦合
MVVM
把P换成了ViewModel
采用数据绑定。
View的变动自动反应再ViewModel上。
单项绑定:只有VM变了,View才变
双向绑定:V和VM同步
优点:
- 通过数据绑定简化代码,无需手动同步View和Model之间的数据
- 提高效率,降低出错率
- View和ViewModel直接通信自动,降低耦合度提高代码可维护性和可测试性
MVI
将app状态管理集中再Intent中
View发出意图,意图转为状态存在Model中。
然后Model将心状态推送回View来更新用户界面。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMC_Blog!