MVP使用中不好的味道
2016-01-28 17:01
183 查看
不好味道之一:View 包含反应用户触控操作的方法
V和P老是分不干净分不清楚。MVP都是针对接口编程,所以有时候看接口就能找到问题View接口
interface IChooseListDialog { /* 添加联系列表数据*/ void addChooseList(List<IChooseItemData> chooseList); void setState(int state); /* 接受用户的选择结果*/ void onChoosed(IChooseItemData... list); }
在上面的 IChooseListDialog View接口中,出现了void onChoosed(IChooseItemData… list) 方法,用户的触控行为是 View所产生的,既然出现在View自身的接口中,那说明是被另一方Presenter所调用的,这明显的不对,反映用户的点击,触控等操作名称的方法应该出现在Presenter才对。
而对于View 接口来说,其方法名称主要是:
* 数据更新。包括状态,数据
* 展示UI特性 ,比如出现一个窗口,Toast之类
Presenter 接口
他的接口名称 主要是 用户的触控操作行为interface IChooseListPresenter { /* 列表头被点击,这里都是创建新联系。*/ void listHeaderPressed(); void itemChoosed(T t); void itemEdit(T t); void errorIconPressed(); }
不好味道之二:View的实现类中和具体的Presenter的实现类关联 或者 Presenter的实现类中和具体的View的实现类关联
如果想做到高可复用性,必须严格的针对接口编程。相关文章推荐
- POJ2763 Housewife Wind
- 获得并设置textview的颜色,getcolor已过时的替代用法
- Centos升级gcc4.4.7升级gcc4.8手记
- Android多渠道打包
- 调整进程优先级
- 解决Cannot change version of project facet Dynamic web module to 2.5
- 去雾算法相关资源
- 关于APP接口防止抓包问题
- 协程学习
- CentOS下使用SWIG为PHP53开发扩展
- 101. Symmetric Tree
- MAC的下载工具
- Oracle循环语句
- Eclipse中lib 和 libs 目录的区别 和加载jar注意的一些事项
- DELL 服务器在LINUX下查看阵列状态命令
- leetcode MergeTwoLists
- Emmet基本使用方法
- 第0章:准备环境
- 字符数组与字符指针的区别
- 存储过程基础语法