java - 听众与表演

标签 java performance listener jira

我有一个关于监听器和性能的问题。 例如: 我有5节课: + 添加附件监听器 + 优先级字段变化监听器 + 添加评论监听器 + 更改问题监听器的状态 + 更改受让人监听器 全类同学都会听

@EventListener
  public void onIssueEvent(IssueEvent issueEvent) {
// Do some thing
}

我有两种方法来解决这个问题 选项1: 我注册了 5 个类,如下所示:

eventPublisher.register(AddAttachmentListener.class);
eventPublisher.register(PriorityFieldChangeListener.class);
eventPublisher.register(AddCommentListener.class);
eventPublisher.register(ChangeStatusOfIssueListener.class);
eventPublisher.register(ChangeAssigneeListener.class);

并在每个类函数中使用 onIssueEvent()

选项 2: 我只注册一门类(class):

eventPublisher.register(IssueEventListener.class);

在 onIssueEvent() 函数中,我将切换到每个事件。

但是,如果我注册 5 个类,它将使代码更干净且易于阅读。

那么,我可以选择哪个选项? 如果我使用选项1,会影响性能吗?

谢谢

最佳答案

好问题。同意5个单独的类会让更干净。但您只能根据您 future 的需求做出此决定。如果需要为事件添加更多事件的业务逻辑,则选择选项 1;如果有机会添加有限的事件或业务逻辑,则选择选项 2。

通过在选项 2 中添加干净且正确的注释,您还可以管理干净的编码。

对于大型应用程序选择选项 1,对于小型应用程序选择选项 2。某种微服务使应用程序变得干净且松散耦合。

关于java - 听众与表演,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56932895/

相关文章:

java - XMPP Smack API RosterListener + 数据库更改

java - Selenium:WAITINGDropDown更新后获取DropDown的值

java - 我的MapReducer无法正常工作-无法获得输出

java - 按钮监听器和 Action 监听器

arrays - 当查找映射到小整数的常量时,使用 case 语句还是常量数组更快?

python - 高效查找列表中的重复项

javascript - 如何从Chrome扩展程序监听JavaScript中的卸载事件?

java - JSP中IF语句执行错误

java - 实现 BigInteger 的乘法...从头开始(并确保它是 O(n^2))

Android Studio/Eclipse 导入错误