クラスAがあるとします:
public class A
{
private B _b;
public class A(B b)
{
Assert.That(b != null);
_b = b;
}
}
オブジェクト b には、次のような複雑な初期化が必要です。
b.Prop1 = ...
b.Prop2 = ...
b.Prop3 = ...
int answerToSomeComplexFormula = PerformComplexFormula();
b.Prop4 = answerToSomeCopmlexFormula
etc...
コンストラクターでこの初期化を実行したくありません。複雑な初期化を持つオブジェクトを返すことを説明するパターンの名前はありますか? 何かのようなもの:
public class BInitializer
{
public B Create()
{
B b = new B();
// set up properties
return b;
}
}
BInitializer initializer = new BInitializer();
B b = initializer.Create();
A a = new A(b)
ありがとう!