Android主流架构心得总结 MVC\MVP\MVVM\MVI,下面是我个人总结的各主流框架的优缺点吧,具体深入的可以自行查阅学习,截图来自:Android MVI 架构简介
仅供参考,如有异议,欢迎指正~
MVC
MVC最传统简单,但是缺点是逻辑复杂了容易造成Activity或者Fragment臃肿,因为其包含Controller层和View层的控制,所以MVC一般适合一些业务逻辑简单的小项目
MVP
MVP解决了MVC中Controller和View高度耦合的问题,它通过Presenter的接口来作为Model和View之间的桥梁,但是当页面较复杂时,Presenter的接口就非常多,也就是说要写大量的接口模板代码
MVVM
MVVM通过DataBinding解决了MVP的接口模板代码过多的问题,是前一段时间主流的架构,但是由于它的DataBinding是单向从ViewModel到View的绑定,所以一般还需要配合监听LiveData来更新View状态,来实现良好的解耦
MVI
MVI是最近才兴起的,与之前的几种框架不一样,它基于单向循环的数据流,提供了强大的扩展性、灵活性,并且更易于测试,但是它的缺点也是,如果用户的交互逻辑较多,可能需要写大量的状态模板代码,开发过程中你要注意使用MVI的思维方式去实现,这可能对于刚接触MVI的会有点别扭