java - 生成事件的最佳实践?

标签 java oop events design-patterns

<分区>

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

例如,对于一个对象变化的事件,我在所有改变那个对象的方法中写了一些代码,并且改变对象的方法散布在项目中的许多地方。

作为另一个示例,对于每个对象,都有一个更改的事件,我必须为所有对象编写事件生成代码。

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

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

谢谢!

最佳答案

您可能想看看 google guava 的 EventBus机制。这是一种很好且简单的方法,可以将注册样板的大部分事件处理程序与您的对象分离。

如果您想看到它与语言无关,那么事件总线只是一种描述发布/订阅事件调度机制的模式。

关于java - 生成事件的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9954789/

相关文章:

Java 泛型——T 中的子类; T out 的同一个子类

java - 如何使用 JPA ManyToMany 防止连接表中的重复条目

java - 将元素移动到第一位时,ArrayList 与 LinkedList 的复杂性

php - 从扩展类中获取类名

javascript - DOMContentLoaded 仅一次

iphone - 遍历响应者链以传递自定义事件。这是错误的吗?

java - 在java中从字符串中获取部分内容的最佳方法

oop - 运行时多态性可以称为控制反转还是其他

java - 为什么sysout(upper class)在将下层类分配给上层类之后调用下层类的toString?

javascript - 'event' 是 JavaScript 中的保留字吗?