在 Java 中的 class 内部或外部构建复杂对象?
Building complex object inside or outside the class in Java?
我正在尝试获取 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 public 并在 class 之外构建对象,但我不知道哪种模式可能是用于那个?我知道构建器模式和工厂模式,但我不确定这是正确的地方。有什么想法吗?
如果要构建一个参数很多的对象,我第一个想到的就是Builder模式
我正在尝试获取 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 public 并在 class 之外构建对象,但我不知道哪种模式可能是用于那个?我知道构建器模式和工厂模式,但我不确定这是正确的地方。有什么想法吗?
如果要构建一个参数很多的对象,我第一个想到的就是Builder模式