addListener方法注册监听,DataModule维护一个监听列表,当数据更新的时候循环回调.二、痛点在原有的方案中,回调列表由module自己维护,在需要回调事件的地方循环列表逐个回调事件.这里有以下....三、思考基于上述的2个痛点,对原有方案重新进行了思考.使用动态代理,在代理中维护监听列表,在代理内部处理循环分发,减少代码冗余.用map缓存回调事件的参数,添加事件回调时可以选择注册粘性事件回调,从缓存中取到最新的参数触发事件回调...实现的动态代理接口方法addListener添加一个事件监听removeListener删除一个事件监听release清空事件监听列表,并将代理对象置空动态代理类ModuleListenerProxy实现了...类中维护一个事件参数缓存,修改之后的ModuleListenerProxy类UML图如下: 图片属性名说明methodArgsMap缓存的事件回调参数map方法名说明invoke实现的动态代理接口方法addListener...添加一个事件监听,并设置是否接收粘性消息getMethodKey获取事件回调方法的方法名和参数作为唯一标识符新增的事件参数缓存数据在invoke方法中缓存,缓存时以方法的唯一标识符为key,在添加事件监听时设置是否接收粘性消息