我目前面临着一个非常有趣的架构和实现困境.
我有一个名为的接口ServiceInterface
,它有一个名为的方法execute()
然后我对这个接口有两个不同的实现:Service1
并且Service2
,它正确地实现了execute方法.
我有一个称为控制器MainController
,该控制器具有一个"类型的提示"为ServiceInterface
(依赖注入),这意味着两个,Service1
并且Service2
,可以被称为该依赖注入分辨率.
现在有趣的部分:
我不知道使用(Service1
或Service2
)使用哪些实现,因为我只知道我是否可以使用基于上一步的用户输入的一个或另一个.
这意味着用户选择一项服务,并根据该值我知道是否可以使用Service1
或Service2
.
我目前正在使用会话值解决依赖注入,所以根据值我返回一个实例或其他,但我真的认为这不是一个好方法.
如果你遇到类似的问题,请告诉我,你如何解决它,或者我能做些什么才能以正确的方式实现这一目标.
提前致谢.如果需要进一步的信息,请告诉我.