所以想象一下我们有这样的情况:
public class Bar1 {
public final int VALUE1;
public final double VALUE2;
public final String NAME;
/*DOZENS OF FINALS!*/
public Bar1(int v1, double v2, String name)
{
this.VALUE1 = v1;
this.VALUE2 = v2;
this.NAME = name;
}
}
和
public class Foo1
{
private Bar1 bar1;
private Bar1 bar2;
private Bar1 bar3;
/*Dozens of bars!*/
public Foo1( //We need to pass the values in here)
{
bar1 = new Bar1( //we need to initialise each of the bars. )
bar2 =...
bar3 = ...
}
}
这样做的好方法是什么?我认为将每一个都作为自己的论点传递,
例如:
public class Foo1
{
private Bar1 bar1;
private Bar1 bar2;
private Bar1 bar3;
/*Dozens of bars!*/
public Foo1(int bar1Value1, double bar1Value2, String bar1String,
int bar2Value1, double bar2Value2, String bar2String,
int bar3Value1, double bar3Value2, String bar3String)
{
bar1 = new Bar1(bar1Value1, bar1Value2, bar1String);
bar2 = new Bar1(bar2Value1, bar2Value2, bar2String);
bar3 = new Bar1(bar3Value1, bar3Value2, bar3String);
}
}
是一个巨大的痛苦。
我将发布我提出的解决方案,但我想知道还有哪些其他解决方案。