mvvp变形_mvl开发笔记①

mvl框架是基于mvc框架的变形,适配于我的编码习惯。

1479741368090.jpg

https://github.com/Finderchangchang/MVLDemo 本项目地址,将会持续更新
文件布局
ui:存放activity和fragment。
view:逻辑处理以后用于在activity或者fragment进行显示。
listener:activity的逻辑处理页面。其中这个MainMView其实也没什么实际的作用就是把主页面需要执行的操作先列出来然后在listener里面实现,这是我的理解。

可能会有人觉得这不是多此一举吗?直接在写方法多简单。你一个登录的逻辑不多,但是大项目中你就能发现这样封装一下的好处。
这个页面需要多说一句,为什么要把MainMView放在listener里面,而不是单独放在一个文件夹中(类似于mvvp框架的v)呢。
答:这样不是很清晰,我需要什么功能我一眼就可以看见,当然你也可以写到另外一个文件中。0.0
d.model就是存放model的没啥。
x2.使用方法
1.创建view文件夹的IMainView(你可以写成ILoginView,IDengLuView..)---注意这个是一个接口类型是interface.里面就写需要实现的方法。返回类型一版都是void,然后是方法名。括号里面是你返回页面的处理结果。(记得写备注)


1479741386702.jpg

2.创建MainListener(管理activity的页面)和MainMView(管理Mainlistener的方法的--目的:清晰明了)。


1479741378466.jpg

MainMview也是接口--interface类型的。里面的方法是页面传递给listener进行逻辑出的的参数(例:执行登录操作,你就把用户名密码传递过来,在listener进行实现再执行相关操作)。
MainListener继承自MainMView是为了实现他里面的方法。
再有就是为什么要重构MainListener--为了将listener逻辑处理的结果通过IMainView返回给activity。
3.activity的实现
1479741398928.jpg

activity重写的是IMainView就是咱第一个介绍的,一定要注意。
activity操作listener,执行登录操作

MainListener listener=new MainListener(this);--这里的this指的是IMainView..
登录--listener.login(name,pwd);
注册--listener.zhuce(name,pwd);
listener进行逻辑处理以后通过重写IMainView接口实现。即LoginRequest(boolean result);
整个mvl框架是为了让方便代码的维护还可以合理的分工。就不至于把所有的代码都写在activity中。增加代码的可阅读性。
最后再说一下IMainView和MainMView一定要区分开,前者是在activity进行实现的(是用来告诉activity处理结果的),后者是为了在listener中进行实现的。

文笔有限,如有什么疑问可加q群481606175一起探讨学习~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,161评论 25 708
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,360评论 11 349
  • 在这个吵杂的世界,人们常常感觉到孤单。 是的。我不否认。在这个人人都做自己的时代,没有人愿意让别人来对自己指手...
    猫生活阅读 199评论 0 0
  • 感赏这几天吃了很多好食物,感赏闺蜜们l小姐,a小姐请我吃饭,看电影 感赏亲爱的祝福我生日快乐 感赏爸妈的生日红包 ...
    童欣怡_中阅读 122评论 0 0
  • I just finished reading Social Business Imperative by Cla...
    doooodles阅读 297评论 0 2