次のように単純化して表すことができるオブジェクト階層があります。
public class ChannelEntity
{
... public properties ....
public FramesetEntity Frameset { get; set; }
}
public class FramesetEntity
{
... public properties ....
public List<FrameEntity> Frames { get; set; }
}
public class FrameEntity
{
... public properties ....
public List<TimeslotEntity> TimeSlots { get; set; }
}
public class TimeslotEntity
{
... public properties ....
public PlaylistEntity Playlist { get; set; }
}
複数のネストされたオブジェクトを含む一部のオブジェクトについても同様です。現在、利用可能な個々のオブジェクトを使用して完全なオブジェクト階層を構築するための一般的でエレガントな方法を見つけようとしています。背景として、返されるオブジェクトにネストされた子の識別子が含まれている Web サービスから個々のオブジェクトを取得しています。これを使用して、サービスを再度呼び出してネストされたオブジェクト データを取得しています。必要なデータをすべて解決したら、呼び出し元ができるように、それ自体と必要な子を作成する責任を持つ個々のオブジェクトのそれぞれのビルダーを使用して、完全なオブジェクト階層を作成する方法を見つけようとしていました。オブジェクト グラフ全体を手動で作成する必要がなくなります。