Android架构

应用架构编码级别可分为MVC MVP MVVM

从项目上架构分为组件化 插件化

MVC Model View Controller

Model 相当于网络请求数据,数据库取出数据,View 相当于xml java编写的view,Controller相当于Activity Fragment

View向Controller发起请求action,Controller向Model发起请求,请求返回CallBack到Controller,然后在更新View

从上面来看Controller里面包含了一部分View的功能,并且Model和View可以直接相互操作,使得耦合性非常的大,于是有了MVP


MVP Model View Presenter

Model层与MCV一样网络,数据库获取数组,View层变为了Activity Fragment xml,Presenter层只是Model View之间的桥梁,

他们都是通过面向接口编程降低了耦合度

View需要实现View interface的接口,Presenter也是要实现 Presenter interface,Model要实现call back

然后View通知Presenter请求数据,Presenter通知Model,Model数据返回后Callbak到Presenter中,Presenter更新View,这样就可以降低耦合度,如果View有更新可以不需要修改逻辑直接替换


MVVM Model ViewModel View

他其实与MVP差不多,区别在于View和ViewModel是通过dataBInding实现双向的绑定


组件化

组件化是插件化的前奏,根据自己要使用的业务来划分,一般都是一个壳工程+几个业务Module+依赖库

要解决的问题组件通信机制+组件件跳转+数据存储+资源冲突等等


插件化

不需要发包,直接通过加装插件就能实现应用更新,适合大型项目功能并行开发,内部原理有滴滴提供插件化框,使用hook机制


MVC MVP https://blog.csdn.net/u010072711/article/details/77132403

MVVM  https://blog.csdn.net/u010072711/article/details/78633151

插件化 https://blog.csdn.net/yyh352091626/article/details/74852390

MVC MVP MVVM 组件化 插件化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值