【问】哪个架构模式最好?
【答】永远没有哪个模式好,只有哪个模式最适合。
1、MVC
- MVC盛行于2011年左右,由当时工程目录结构决定的
- Activity 表面是控制层,其实是个大管家,且管理混乱
- 角色划分不清,View、模型和控制的工作都做,
- 代码多,没有单一职责,耦合度和扩展性都不好
- 适用:小型项目(1-2人),够灵活
2、MVP
- Activity 只做View层,分层清晰
- Presenter 层通过接口回调实现反馈给View
- 弊端:出现接口过多,“接口地狱”
- 适用:大型项目,业务重,开发人员多,必须分层清晰
3、MVVM
- Activity 只负责View层
- 这个ViewModel,指的是VM层,与Jetpack的ViewModel组件库不是同一个东西
- 通过DataBinding完成View与VM的双向绑定
- DataBinding不属于哪个模式,只是个工具集,MVP也可以用
- 通常为:DataBinding+ViewModel+LiveData
- 适用:界面更新频繁(网易云音乐、腾讯视频),“数据驱动开发”
Databinding技术分析
项目引入:
// gradle闭包
dataB