用于模块间解耦,通过发布订阅的方式调用,每个人只负责自己的那部分. 写个小例子,比如现在有三个模块,订单.购物车.优惠券,由不同的人负责开发. 负责订单模块的人现在需要写个生成订单的方法,生成订单的逻辑包括删除购物车项.标记优惠券已使用. 如果直接调用购物车.优惠券两个模块中的方法,耦合性高. 此时可以使用EventBus进行解耦. public class EventBus { private EventBus() { } private static Object syncObj = new…