Android 官方推荐架构 MVI 详解二 为什么选择MVI

为什么选择MVI

  • MVI架构是 google 官方目前推荐的 android app 架构
  • MVI的核心思想是 view-intent-viewmodel-state-view 单向数据流,MVVM核心思想是 view-viewmodel-view 双向数据流
  • 代码分层更清晰,viewmode 无需关心view如何触发和更新,只需要维护intentstate即可
  • ViewViewModel的交互更规范,使用 kotlin 密封类特性,封装intentstate,代码规范、整洁、易读
  • IntentState的引入也解决了ViewModelModel的界限模糊问题
  • MVI架构并不需要引入第三方库,即便在原有的MVVM、甚至MVP基础上也可以衍生出来,重点是领会这种编程思想!
  • 装B,新的技术、架构等可以提升代码逼格!这对于一名工程师来说相当相当重要!!!

MVI也有缺点

  • 单向流和双向流,并非 好和不好 的选择,而是 适合和不适合 的选择,业务逻辑较为简单的界面,它不需要mvi、mvvm、mvp、mvc,只一个activity或者fragment + layout 即可,一味的套用架构,反而适得其反!
  • 逻辑、数据、UI 较为复杂时,intentstate将会变得臃肿
  • state 是不可变类,状态变更时需要创建新的对象,存在一定内存开销
  • 并非所有的UI刷新都适合使用state封装描述

总结

一味的套用架构,反而适得其反!领会编程思想才是最重要的!我见过很多死搬硬套MVP、MVVM的架构,P层、VM层没有什么代码,业务逻辑依然写在V层,这有何意义?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容