【发布时间】:2014-01-27 23:02:05
【问题描述】:
假设我有一个名为 SocialNetworkService 的接口,以及多个实现 - TwitterService、FacebookService 和 FriendFeedService、MyService 等。
现在我希望,每当我的托管 bean 收到消息时,根据消息中包含的某些规则选择一个/或多个实现并相应地传输消息。
我不太确定使用哪种模式最好?
a) 使用接口实例,即
@Inject @Any Instance<SocialNetworkService> socialNetworkService;
SocialNetworkService service = socialNetworkService.get();
如何将消息传递给 SocialNetworkServiceFactory?
b) 使用事件观察所有服务中的事件(不管它们的接口如何,这不是我想要的。即如果我不支持不传输...
c)。我可以注解注入,即 @Twitter、@Facebook 都在一个控制器 bean 中,然后选择合适的,但我的服务实现数量会增长....
提前致谢,
迪米特里
【问题讨论】:
标签: java cdi jboss-weld