gpt4 book ai didi

java - CDI 拦截器与 CDI 事件

转载 作者:行者123 更新时间:2023-11-29 04:15:40 28 4
gpt4 key购买 nike

我有一个关于在 Java EE 中拥有一个尽可能不耦合的系统的最佳实现的问题,问题是使用 CDI 事件还是 CDI 拦截器更好,显然对于安全性之类的事情来说拦截器,对于日志,例如根据具体情况的两者中的任何一个,但对于必须在执行另一个任务时必须完成特定任务的业务规则。

撇开异步事件可能发生也可能不发生不谈,我的怀疑更倾向于模块的解耦,因为在我的概念中,事件比拦截器更解耦,因为在拦截器中,包含函数的类必须被定义拦截,但在事件的情况下,只有消息必须被定义。

最佳答案

拦截器和事件是无关的。它们有不同的用途。

拦截器更像是一种“面向方面编程”的编程风格。正如您所提到的,事件是一个解耦方面。

拦截器属于“代码不知道或不关心正在发生的事情”的类型,其中代码积极参与事件,因为代码必须生成它们。只是代码不关心它们会发生什么。

两者都有关注点分离的元素。

还应注意 CDI 事件不是异步的。您可以附加异步操作的监听器,但开箱即用,它们不是。

关于java - CDI 拦截器与 CDI 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52523889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com