gpt4 book ai didi

java - 具有多种条件的工厂模式

转载 作者:行者123 更新时间:2023-11-29 09:53:27 25 4
gpt4 key购买 nike

假设我要创建 100 种类型的对象,为此我公开了一个工厂来创建这些对象。为了创建这些对象,我有 100 个 if, else if

在这种要创建多种类型对象的场景下(当然你希望每个类创建一个对象),有没有更好的创建模式?

最佳答案

如果您选择要实例化的类所依据的单一标准,您可以创建一个 Map<CriteriaType,Class>它将标准映射到应实例化的类。

然后,您的 100 个 if else-if 将减少为单个 map.get(criteria).newInstace() .

如果你有多个条件,你可以尝试将它们按层次排列,然后你可以有一个多维度的映射,比如Map<CriteriaType1,Map<CriteriaType2,Class>> .然后,您必须沿着层次结构向下查找要实例化的类。

关于java - 具有多种条件的工厂模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582608/

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