Transaction
非常に負荷の高いクラスがあります。非常にロードされているため、元々はほぼ20個の引数をに渡すことになりましたctor
。いくつかの値オブジェクトを抽出した後も、まだ12個の引数が残っていますが、それでも多すぎると思います。
これを回避するにはどうすればよいですか?引数はすべて必須なので、コンストラクターに渡されるのは合理的だと思います。それを明示的にしたいと思います。ctor
また、プロパティを追加した場合、それ自体のテストに依存する代わりに、プロパティをに追加して、コンパイラにプロパティが壊れた場所を見つけさせる方法も気に入っています。私は、オブジェクト初期化子、またはビルダーが問題をうまくやっていないと思います。次の数日で、どの議論が一緒に属しているかがより明らかになるかもしれませんが、それでも構成することができます。
public class MyEntity()
{
public MyEntity(ValueType prop2, ValueType prop3, ...)
{
Id = Guid.NewGuid();
Prop2 = prop2;
Prop3 = prop3;
...
}
public Guid Id { get; private set; }
public ValueType Prop2 { get; private set; }
public ValueType Prop3 { get; private set; }
public ...
}