我已经创建了工厂类,我想知道哪个是更好的实现方式。选项1
public class Factory {
private IProperty prop;
public IDoc doc;
public Factory(int version) {
switch (version) {
case '1':
prop = new Prop();
doc = new Docu();
...
case '2':
prop = new Prop1();
doc = new Docu1();
...
}
}
public IProperty getProperty() {
return this.prop;
}
public IDoc getDoc() {
return this.doc;
}
}
我的问题是是否要这样做,即使用接口类型定义成员并打开构造函数,或者每个 get 方法都在构造函数上使用 switch 语句,所以在构造函数中我只会获取版本并保存它在类成员上,而不是例如使用 like
public IProperty getProperty() {
switch (version) {
case '1':
prop = new Prop();
case '2':
prop = new Prop1();
...
那么更好的方法是什么,或任何其他想法?