正在开发一个项目,其中本月的风格似乎是使用 switch 语句和枚举来决定要创建什么具体的类实例。
考虑到它们都实现相同的接口(interface),但在创建实例时需要不同的对象参数,是否可以考虑使用替代设计模式来创建对象?
例如当前的代码是。
SomeInterface concreteInstance;
Switch() {
case A :
{
concreteInstance = new ConcreteAInstance(param1, param2);
}
case b :
{
concreteInstance = new ConcreteBInstance(param1, param2, param3);
}
case c :
{
concreteInstance = new ConcreteCInstance(param1);
}
}
最佳答案
看一下抽象工厂模式:
https://en.wikipedia.org/wiki/Abstract_factory_pattern
顺便说一句。没有“工厂模式”。这四个人定义了两种风格:抽象工厂和工厂方法。
关于java - 在 java switch 语句中创建新对象。可用替代设计模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40672607/