【问题标题】:Inject interface and identify concrete class注入接口并识别具体类
【发布时间】:2019-07-13 23:43:17
【问题描述】:

我有一个包含多个具体类(大约 20 个)的接口。现在我需要注入接口并根据请求确定要执行的具体类。我不想编写 if-else 块来识别具体类。我们如何实现它?

【问题讨论】:

  • 通过向我们展示代码以及您到目前为止所尝试的内容。
  • 您可以使用@Qualifier通过bean名称注入特定的bean。
  • @Developer,这似乎是一个设计问题。我已经为你添加了一个答案,检查一下,看看它是否适合你。

标签: spring spring-boot spring-integration


【解决方案1】:

虽然您的问题在细节方面相当模糊,但我很容易认为它似乎是一个设计问题或问题。突然出现的想法是实现策略模式。当然,还有许多其他设计模式可以实现以达到最终目标。

根据维基百科:

策略模式是一种行为设计模式,可以在运行时选择算法

下面的简单图表给出了它的轮廓。

您可以访问以下链接以阅读有关它的更多信息,并查看一个工作示例以了解要实施的设计要点。 Behavior Based -> Strategy Pattern

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多