在CDI中注入vs事件

时间:2013-07-02 02:02:31

标签: java java-ee cdi

我试图理解在两个不同的bean中调用方法的区别。第一种方法是将一个bean注入另一个bean,然后在另一个bean中调用注入bean的方法。第二种方法是使用@observe并触发一个事件。哪一个更好?

2 个答案:

答案 0 :(得分:0)

根据您的解释,在这种情况下,两种解决方案都会做同样的事情。如果您需要不止一件事来观察/聆听事件,那么事件将非常有用。还取决于您希望如何构建应用程序。您想要执行事件/侦听器方法还是更加面向对象?

答案 1 :(得分:0)

第一种方法,注射,更简单,因此更好。它也更容易测试 - 没有要设置的事件上下文。

第二种方法,事件驱动,更复杂,因为它引入了第三方(事件框架)来协调这两个类。测试也更难(需要更多的代码,时间和知识)。

使用注射:它被广泛使用,广泛支持,广泛理解,更简单,易于测试/模拟。