gpt4 book ai didi

带有枚举的 Java 工厂模式

转载 作者:行者123 更新时间:2023-12-01 07:35:13 28 4
gpt4 key购买 nike


我必须将工厂模式与单例一起使用。我的工厂类根据枚举类型创建两个不同的对象。

返回正确对象的最佳方式是什么。

解决方案 1:通过工厂中的 if-else 决策:

if(enumType == "objectA") return new objectA()

解决方案2:枚举类有一个返回函数:

enum ObjectType{ ObjectA{ .. return new ObjectA()..}}

谢谢,迈克

最佳答案

在枚举上编写一个函数。这样,当您添加新枚举时,您就不会忘记向工厂方法添加子句。

通常,对于几乎任何解决方案,我都倾向于多态性和方法实现,而不是 if/else if 等序列。它更不容易出错,并且问题将在编译时而不是运行时被发现。

关于带有枚举的 Java 工厂模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010617/

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