Android 项目框架和架构

架构、框架是一种从大到小的关系,也是一种组合关系。

架构:组件化和插件化

框架:MVC MVP MVVM

1.组件化和插件化区别

组件化:将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并成一个apk。

插件化:将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。

组件化

1.资源冲突问题

在build.gradle文件,添加resourcePrefix “资源名前缀”

2.组件通信

路由; 数据服务共享 EventBus,数据库;广播

3.资源统一管理

公共依赖包

MVC:M是指业务模型,V是指用户界面,C则是控制器。

MVP:Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。

MVVM:在原有领域Model的基础上添加一个ViewModel。

三者的关系

三者的共同点:Model和View

差异:Presenter与Controller一样,接收View的命令,对Model进行操作;与Controller不同的是Presenter会反作用于View,Model的变更通知首先被Presenter获得,然后Presenter再去更新View。ViewModel就是包含View的一些数据属性和操作,这种模式的关键技术就是数据绑定。


版权声明:本文为day_moon原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。