android mvp模式弊端,《android-MVP模式的困惑》

-------第一次写东西,写的不好,不好意思。

什么是MVP模式呢?我的理解就是老的MVC架构模式的一种延伸,能体现一种面向接口编程的思想。之所以会有MVP,是因为MVC中,C即Controllor对应于Activity或者Fragment。他们负责的东西太多了。比如:控件的初始化,网络请求,数据绑定,事件传递等。这显得我们的Controllor太过于臃肿。而为了给Controllor减轻负担,于是就有了Presenter这个一个中间层,让Presenter负责完成View于Model间的交互。这有点像Web开发中的Service,什么业务逻辑都放在这里来处理,然后再与Action交互。

在网上也看到了很多图形来解释MVP与MVC的区别,如下:

这是mvc:

4369b092dedf

这是MVP:

4369b092dedf

主要区别是这样的:

4369b092dedf

还有就是真个项目的结构图:

4369b092dedf

通过上面的几个图我们不难发现,MVP模式中Presenter在这整个模式中显得很重要,那么问题来了(这也是我没用想明白的事情):

1、Presenter通过接口的方式提高了代码的复用性,降低了耦合度,但是如果业务非常复杂的时候Presenter层会不会也会像MVC模式中的Activity一样显得很臃肿。

2、Presenter既然负责完成View于Model间的交互,那么它的生命周期怎么去控制。

3、Presenter层的出现,虽然降低了耦合度,但是相对于MVC来说代码量会增加部分(对每个界面的把控难度也增加了,因为你要些接口,必然要清楚这个界面应该做的事情),应该怎么去提高开发效率。

4、Presenter在与View交互的时候,如果这个界面是一个表单界面,字段又很多的情况下View与Presenter之间又怎么去交互。

我也希望有人能帮我解决这个问题。谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值