以下の C# コード (ピース 1) に出くわしました - わかりやすくするために削減され、インスタンス メソッド、さらに多くのメンバーなどもありました。ここで非常にスマートなプログラミング パターンが欠けているのでしょうか? Address() 型は非常に単純で、実際にはデータ転送オブジェクトです。
ピース 1:
public class MyStuff
{
private IAddress _address;
public MyStuff()
{
SetAddress(_address = new Address());
}
private void SetAddress(IAddress addr)
{
_address = addr;
}
}
ピース 2:
public class MyStuff
{
private IAddress _address = new Address();
public MyStuff()
{
//The constructor is probably redundant too
}
}