MVP实战之改版2----固定UI的Frag,实现P可修改
2016-05-06 13:30:41 0 举报
MVP扩展2,现在是某个具体Frag,可以随意更换P。即UI设计Frag已经固定做好了,对于一个UI页面有不同的实现方案P。
作者其他创作
大纲/内容
Frag和P应该要解耦。此处考虑桥接模式,且需要在Frag进入生命周期之前把P接进去
AbBaseP
+Reference mViewRef
+void attacheView(T view)+void detachView()+T getView()+abstract void registerEventBus()+abstract void unRegisterEventBus()
除了getView,其余的函数都是要在frag的生命周期中调用的
IP
+void getCurrentTime()
WatchM
-WatchM()+static WatchM getInstance()+void currentTime()
IM
+void currentTime()
IBaseV
IV
void udateView(String )
现在某个具体Frag,可以随意更换P现在只有IM额IV接口可以集成到具体类然后删除接口,其余IP要根据具体业务保留抽象接口
调用M层功能
P监听M层消息
IContract
//用户根据实际定义接口
IP_Watch extends AbBaseP
//还是一个抽象类
+abstract void registerEventBus()+abstract void unRegisterEventBus()+abstract getCurrentTime()
//具体实现类
*IP_Watch createPresenterFromChild()+View onCreateViewFromChild(……)+udateView(final String )
刷新/select
IBaseP
向底层的请求
Activity
管理具体的V和P
状态反馈
EventBus
WatchP
//具体实现类,扩随意扩展
+registerEventBus()+unRegisterEventBus()+getCurrentTime()
+T mPresenter
+final View onCreateView(……)*abstract P createPresenterFromChild()*abstract View onCreateViewFromChild(……)
刷新M层状态
0 条评论
下一页