脚本宝典收集整理的这篇文章主要介绍了Android 架构设计(一):设计模式分析,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
今天深海将给大家分享一下个人对现有AndROId架构的分析和总结;
Android 架构设计(二):分包和文件结构 //敬请期待
Android 架构设计(三):三方框架推荐 //敬请期待
Android 架构设计(四):组件化? //敬请期待
- 很多人把无架构定为MVC ,这边深海要纠正一下,无架构 != MVC
我这边就直接拿网图了啊,不过网图画的不对,我这边纠正了一下,View与Controller是相互持有,因为View需要持有Controller才可以调用其方法,而Controller必须持有View才可以改变它,Model没有持有View的必要。 这个网图的原作者可能对与MVC的理解和深海有所不同。
优点:
缺点:
业务越复杂,越乱,文件少意味着文件个头大。
适合小项目或者逻辑不是太复杂的大项目, 自从MVP兴起后使用率逐渐变低,从MVVM兴起后几乎绝迹,MVC大多看到的是老项目的影子。或者很小的项目和独立开发的项目。
与MVC的核心区别:
优点是职责清晰,接藕。缺点是接口多,文件多,代码多。
至今都被人认为是Android最主流的架构设计模式,但是MVVM出现后很大一部分的新项目都采用了MVVM的结构,且比率还在不断提高。
数据驱动为核心。ViewModel作为View的数据映射,View的所有数据均来自ViewModel。View改变时调用ViewModel的方法处理逻辑并改变其数据。同时View通过DataBinding或者LiveDate监听数据的改变,由此改变View的展现。
各自职责:
这个图我自己画一下,因为网图不够明确。
与MVP的区别:
优点:
逻辑清晰,代码文件也少
缺点(大多是Databinding的缺点):
深海个人不推荐使用Databinding, 推荐使用LiveData+Kotlin布局引入插件。
深海认为 布局文件应该保证其简单性和职责单一性!
以上是脚本宝典为你收集整理的Android 架构设计(一):设计模式分析全部内容,希望文章能够帮你解决Android 架构设计(一):设计模式分析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。