0

UnitOfWorkパターンに基づいて構築された既存のシステムに頭を悩ませようとしています。すべてがコンストラクターに組み込まれるリポジトリーがたくさんあるIUnitOfWorkため、サービスレイヤーは複数のリポジトリー呼び出しを実行し、変更をコミットするタイミングを選択できます。

現在のサービスコードは次のようになります。

using (var uow = UnitOfWork.Start())
{
    var orderRepository = new OrderRepository(uow);
    var productRepository = new ProductRepository(uow);
    orderRepository.DoSomething();
    productRepository.DoSomethingElse();
    uow.Persist();
}

UnitOfWorkサービス層に真の依存性注入を導入し、パターンを維持するにはどうすればよいですか?

4

1 に答える 1

0

工場のパターンを使用します。コンストラクターにファクトリーを注入し、次のように書き直します。

using (var uow = this.unitOfWorkFactory.Create().Start())
{
    var orderRepository = new OrderRepository(uow);
    var productRepository = new ProductRepository(uow);
    orderRepository.DoSomething();
    productRepository.DoSomethingElse();
    uow.Persist();
}

よろしくお願いします

于 2013-02-28T20:20:45.873 に答える