0

在一个项目中,当月的风格似乎是使用 switch 语句和枚举来决定要创建什么具体的类实例。

考虑到它们都实现相同的接口,但在创建实例时需要不同的对象参数,是否可以考虑用于对象创建的替代设计模式?

例如,当前代码是。

SomeInterface concreteInstance;
Switch() {
  case A :
  {
     concreteInstance = new ConcreteAInstance(param1, param2);
  }

  case b : 
  {
    concreteInstance = new ConcreteBInstance(param1, param2, param3);
  }
  case c :
  {
    concreteInstance = new ConcreteCInstance(param1);
  }
}
4

1 回答 1

3

看一下抽象工厂模式:

https://en.wikipedia.org/wiki/Abstract_factory_pattern

顺便提一句。没有“工厂模式”。四人组定义了两种风格:抽象工厂和工厂方法。

于 2016-11-18T13:08:41.507 回答