美文网首页
你看过这种MVP么?

你看过这种MVP么?

作者: vihuela | 来源:发表于2017-04-11 11:30 被阅读1200次

mvp是不是给大家印象,接口设计要设计好久?我就业务代码挪个地方,你让我想这么久?我就一个按钮的页面也设计接口?但是一些复杂复用场景确实需要接口设计啊,听说dataBinding不错,但是我舍不得现在butterknife用法啊,有没有一种架构设计让这些统统可以简单向前向后都可以实现兼容呢,有!项目github地址在文章末尾

这里讲讲代码由来的思考:

通常View层为Activity或Fragment,那也可能是任意的View,抽取IView吧,那View交互的业务逻辑需要挪个地方有几种办法,新建一个Presenter类,然后在View引用并且实例化,实例化时将View传入,让presenter与View互相持有引用,操作手法有用dagger、用泛型传递presenter,然后反射,进一步有个HashMap<ScreenId,Presenter>容器缓存与View绑定的Presenter,横竖屏之后Presenter是可以复用的,到这为止建立了View与Presenter的关系,View本身就是寻找元素,用DataBinding或者Butterknife仅是用法不同,不影响Presenter

接下来我们说说Presenter与View层的交互,我们通常在网络请求前后有个动画加载、文字提示,snackBar,toast显示什么的,每次都要调用View的显示逻辑太乏味,Presenter与View不是互相持有引用么,我们把引用抽象,之前抽取到了IView,现在在抽取,让IView 继承 BaseView,BaseView包含一些Activity或Fragment常用的交互显示的方法,譬如加载网络前的加载动画、加载错误后的消息提示,因为Presenter引用的是View层的接口约束,但是传进来的却是某个实现类,所以就不用写乏味代码了,那么网络错误分发、业务有关的自定义View交互约束是不是也可以这样做呢?

所以其实,主体就是View与Presenter互相持有接口引用,接口按照业务扩展(交互、功能),在各处持有不同类型的引用,不多说,看项目吧

项目地址

视频运行效果在下方:


Rad演示.mp4

相关文章

  • 你看过这种MVP么?

    mvp是不是给大家印象,接口设计要设计好久?我就业务代码挪个地方,你让我想这么久?我就一个按钮的页面也设计接口?但...

  • 人渣的本愿,我怎么觉得那么真实

    1. 你看过《失乐园》么? 你看过《欲奴》么? 你看过《人渣的本愿》么? 你会想,我的天,我疯了吧,这么黄的书和剧...

  • 重新理解 MVP | 产品

    如何理解 MVP ?为什么投入大量资源,但我的产品项目还是会失败?你真的清楚 MVP 背后的底层逻辑么? 对于一家...

  • 北爱,你看过么?

    现在才知道 原来好的东西无论何时都会闪光 这两天回头再看北爱 不愧是我主宰我青春的一部戏阿 现在看来也不落俗套 远...

  • Android Mvp简单入门

    MVP是什么? mvp是一种架构思想,只要符合这种思想的软件架构,都可以是mvp 为什么要使用mvp? 要想知道为...

  • 80岁后还有性生活,这才是真爱的模样

    看过辣么多电影, 但或许你没看过这种: 一个想拼命挽留自己记忆的而不可得的丈夫, 一个自知时日无多的妻子。 在即将...

  • MVP模式概览

    近段时间,经常听到MVP模式,作为小菜比,只能兴叹,特么的我以前怎么没看到,好了,正题正题。 MVP,Mo...

  • 活着就是为了创造

    有人问我,你喜欢看书么? 我说,所有的书我都看过。 那人问我,你喜欢看电影么? 我说,所有的电影我都看过。 我还说...

  • 你理会这种人么

    有那么一种人,沉默寡言。当你和他交流时,他会静静的看着你,认真听你说话。可一旦你将目光转向他,期待他给出什么...

  • 你试过这种感觉么

    你试过这种感觉么 一个人在家宅一天 宅到日出日晒日落天黑 把家里的所有水果零食每种吃一遍 然后 在房间待到不知不觉...

网友评论

      本文标题:你看过这种MVP么?

      本文链接:https://www.haomeiwen.com/subject/pceyattx.html