这是一个好的做法,有类,即内部类(不是静态的),只有任务是构造和启动外部类的对象(在她的构造函数中)?这个类的生命周期等于外类构造函数的生命周期 .
这是一个例子:
OuterClass {
// (...fields here...)
private ConstructClass {
// (...some useful methods and fields here...)
public ConstructClass(String param1, int param2, ...) {
// (...construction of OuterClass here...)
}
}
public OuterClass(String param1, int param2, ...) {
new ConstructClass(param1, param2, ...);
}
}
1 回答
看起来像我试图重新发现builder pattern :) . 你非常接近它,如果你改变你的构造函数只设置单个字段,而不是创建整个对象,那么它会好得多 .
创建构建器可能会导致效率降低(必须保留jvm中的额外内存),但它可以大大减少您必须创建的不同参数化构造函数的数量 - 代码更加清晰 . 修改代码以实现构建器范例是值得考虑的,但最终的决定取决于您 .