EventBus icon indicating copy to clipboard operation
EventBus copied to clipboard

实现方式挺好的,不过发送事件的调用方式在语义上不好理解,……

Open liyujiang-gzu opened this issue 8 years ago • 3 comments

实现方式挺好的,不过发送事件的调用方式在语义上不好理解,能否将“”EventBus.get(...).onXXX(...)“”重构为“”EventBus.obtain(...).sendToTarget()“”更容易理解,类似于安卓sdk的Handler&Message那样

liyujiang-gzu avatar Dec 02 '16 14:12 liyujiang-gzu

可考虑充分利用泛型和反射来实现

liyujiang-gzu avatar Dec 02 '16 14:12 liyujiang-gzu

EventBus.get(...).onXXX(...) get 是get到Event的代理类 后面onXXX是自定的event的方法,属于你自己的不一定用on开头

LuckyJayce avatar Dec 02 '16 14:12 LuckyJayce

这倒也是。 我猜想的重构思路如下,不知是否可行: 1、定义一个继承自IEvent的抽象类MessageEvent,里面包含一个final的obtainMessage方法及一个抽象的onMessageReceived方法。 2、额外添加一个Message类作为EventBus.get的通用参数,里面定义两个属性what及obj,以及一个final的sendToTarget方法。 3、sendToTarget里通过Proxy实现onMessageReceived的调用。

liyujiang-gzu avatar Dec 02 '16 15:12 liyujiang-gzu