您的位置:首页 > 其它

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的实现类关联

如果想做到高可复用性,必须严格的针对接口编程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: