产生事件的最佳做法?

sev*_*ver 4 java oop events design-patterns

我想设计一个为系统生成/消费的事件,在各种情况下会有各种类型的事件发生.我发现我需要在任何地方编写事件生成代码,并且事件生成代码与业务逻辑紧密耦合.

例如,对于对象更改的事件,我在所有更改该对象的方法中编写了一些代码,并且更改对象的方法在项目的许多位置传播.

作为另一个示例,对于每个对象,存在已经改变的事件,我必须为所有对象编写事件生成代码.

我相信你们有一些解决问题的经验,并实现一个松散耦合且易于维护的系统.你有什么建议吗?

我的实现语言是Java,但我认为这个问题对任何语言都有效,如果有任何Java特定的解决方案也欢迎:)

谢谢!

nan*_*sen 8

你可能想看看谷歌番石榴的EventBus机制.这是一种很好的简单方法,可以将大部分事件处理程序从样板中注册到样板.

如果你想看到语言不可知,事件总线只是一个描述发布/订阅事件调度机制的模式.