参考
https://juejin.cn/post/7197230639144828988#heading-0
https://juejin.cn/post/7478179664554573874
总结
Android设计模式分为MVC,MVP,MVVM,MVI
MVC
mvc中M用来获取数据,V进行视图展示,C进行逻辑处理。在实际开发中V和C层的逻辑一般写在一起都写在Activity中,Activity中的逻辑会过于臃肿。
MVP
mvp中M用来获取数据,V进行视图展示,P进行逻辑处理。P和M通过接口回调的方式传递数据,P和V也通过接口回调的方式传递数据。
优点:实现了解耦。
缺点:实现一个简单的功能,需要添加很多接口
MVVM
mvvm中M用来获取数据,V进行视图展示,VM进行逻辑处理。VM和M通过接口回调的方式传递数据,VM和V通过数据的双向绑定进行引用
优点:减少了接口的产生
缺点:不能进行debug,xml文件不支持debug
MVI
mvi中M代表视图状态,V代表视图,I代表用户意图,是一种单向的数据流