我正在尝试使用Java中的最佳实践来解决以下问题:
我想在一个地方设置一个复杂的对象,以便其他客户端可以重用这个结构。这是一个例子以及我如何继续:
我的复杂对象属于" Ontology",这个对象包含许多参数,一旦实例化并填充,它就会被许多对象用作一种配置,通过使用它的getter。
我的Ontology.class
abstract class Ontology {
List<Something1> param1;
List<Something2> param2;
...
protected void addParam1(){
...
}
....
abstract protected void setup();
}
保持复杂结构的方法:
public class SpecificOntology extend Ontology{
@Override
protected void setup(){
addParam1(new Something(...));
...
}
}
客户:
protected void something(){
SpecificOntology o = new SpecificOntology();
o.setup();
install(o.getParam1(());
...
}
另一种解决方案可能是使Ontology不是抽象的,使其Adder公开并在类之外构建对象,但我不知道可以使用哪种模式?我知道建造者模式和工厂模式,但我不确定这是不是正确的地方。有什么想法吗?
答案 0 :(得分:1)
如果你想构建一个包含许多参数的对象,我首先想到的是Builder模式。