永发信息网

android mvp v能持有多个p的引用吗

答案:2  悬赏:40  手机版
解决时间 2021-03-20 12:34
android mvp v能持有多个p的引用吗
最佳答案
MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把Activity的View和Controller抽离出来就变成了View和Presenter,这就是MVP模式。
在Android项目中,Activity和Fragment占据了大部分的开发工作。如果有一种设计模式(或者说代码结构)专门是为优化Activity和Fragment的代码而产生的,你说这种模式重要不?这就是MVP设计模式。
按照MVC的分层,Activity和Fragment(后面只说Activity)应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。Activity是在Android开发中充当非常重要的角色,特别是TA的生命周期的功能,所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,超过1000行代码是常有的事,而且如果是一些可以通用的业务逻辑(比如用户登录),写在具体的Activity里就意味着这个逻辑不能复用了。如果有进行代码重构经验的人,看到1000+行的类肯定会有所顾虑。因此,Activity不仅承担了View的角色,还承担了一部分的Controller角色,这样一来V和C就耦合在一起了,虽然这样写方便,但是如果业务调整的话,要维护起来就难了,而且在一个臃肿的Activity类查找业务逻辑的代码也会非常蛋疼,所以看起来有必要在Activity中,把View和Controller抽离开来,而这就是MVP模式的工作了。
全部回答
需要吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车身稳定系统什么时候开启
以前旧版的泡泡龙单机游戏
intel处理器i7-3632QM和i7-3520M比较?
老毛超市怎么去啊,有知道地址的么
da N.m是什么意思?
20|6亚洲男排决赛中国对伊郎昨天晚上比赛我们
黄金318一克11.820克多少钱?
亲戚间互相得罪过,遇到事情走还是不走好呢
用什么软件可以加快游戏更新呀
芦草沙怎么去啊,有知道地址的么
为什么当大官的都不喜欢参加同学聚会
工商银行卡小额费,我卡上0元,还会收费吗?
5w20机油保养里程可以一万公里吗
台式机如何安装蓝牙
刘备派关羽守荆州是哪场战役
推荐资讯
请问板栗子怎么收藏才新鲜?
集邮伴我成长征文800字
想买个大陆的储蓄卡谁有好介绍?
怎样安装双控开关
没有打算拿结婚证,小孩3岁怎样办入户,可以入
秦始皇开创了什么制度
如何对0-3岁的宝宝实施早期教
MEIZU这手机账号和密码是什么?
西游记里面主要讲了什么故事
2017年春天出生的女孩取什么名字好?
求问啊 chase的swift code
我在念大学,大二了,通信工程专业。挺迷茫的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?