Eventbus随笔

在USC的CSCI-526游戏开发课程中,我们的项目遇到了这样一个问题:对于一个事件,可能有多个模块需要关注。比如游戏中的天气变更事件,防御塔、怪物、数据统计模块都需要根据这个事件触发操作。最开始时我们将触发代码,甚至是部分逻辑放入了其他系统,导致了模块间的强耦合。为了解决这个问题,我想到了观察者模式,又想到了在字节实习时使用的EventBus。于是我便按照记忆手写了属于我们自己的Eventbus,在实现的过程中发现这个模式确实非常有趣,故写文记录。