mvvp变形_mvl开发笔记①
2016-11-21 23:21
323 查看
mvl框架是基于mvc框架的变形,适配于我的编码习惯。
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,然后是方法名。括号里面是你返回页面的处理结果。(记得写备注)
2.创建MainListener(管理activity的页面)和MainMView(管理Mainlistener的方法的--目的:清晰明了)。
MainMview也是接口--interface类型的。里面的方法是页面传递给listener进行逻辑出的的参数(例:执行登录操作,你就把用户名密码传递过来,在listener进行实现再执行相关操作)。
MainListener继承自MainMView是为了实现他里面的方法。
再有就是为什么要重构MainListener--为了将listener逻辑处理的结果通过IMainView返回给activity。
3.activity的实现
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一起探讨学习~~
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,然后是方法名。括号里面是你返回页面的处理结果。(记得写备注)
2.创建MainListener(管理activity的页面)和MainMView(管理Mainlistener的方法的--目的:清晰明了)。
MainMview也是接口--interface类型的。里面的方法是页面传递给listener进行逻辑出的的参数(例:执行登录操作,你就把用户名密码传递过来,在listener进行实现再执行相关操作)。
MainListener继承自MainMView是为了实现他里面的方法。
再有就是为什么要重构MainListener--为了将listener逻辑处理的结果通过IMainView返回给activity。
3.activity的实现
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笔记:Android开发应用框架汇总(MVVP框架介绍)
- Android开发中的mvc、mvp、mvvp模式
- VP-UML笔记 开发流程1 画用例图
- android开发摄像头开发,在自己的SurfaceView里预览,并且解决摄像头预览变形问题--懒人笔记02
- 开发笔记-图片拉伸保持不变形
- 没头没尾--项目开发笔记:怎样选择项目开发语言?!
- 开发asp.net自定义控件(asp.net学习笔记三)
- 没头没尾--项目开发笔记:如何编写最外层用例?!
- SharePoint 应用的开发学习笔记(-)
- “面向状态软件开发”学习笔记一(整理LeWolf的文章)
- 没头没尾--项目开发笔记:异常处理与日志记录代码自动生成(工具能生成多少代码!?续一)
- SharePoint 应用的开发学习笔记(二)
- 没头没尾--项目开发笔记:最后的笔记
- 开发asp.net自定义控件(asp.net学习笔记四)
- 使用VC和MATCOM结合开发应用程序心得笔记
- 没头没尾--项目开发笔记:项目问题的阶段性总结,下一步…………
- 没头没尾--项目开发笔记:如何开发代码更新工具?!(下)
- 新手笔记-持续改进实践:开发计划的改进
- 没头没尾--项目开发笔记:工具能生成多少代码!?
- 没头没尾--项目开发笔记:先开发UI层还是先开发BusinessRules层!!??