Разрешение службы / Расположение и параметры - PullRequest
1 голос
/ 12 января 2012

Как бы вы передали параметры распознавателю для создания объекта?

У меня есть объект UoW, который я хочу передать в объекты службы данных, и я хочу быть в состоянии гарантировать, что объекты службы данных, созданные в определенной последовательности, создаются с использованием одного объекта UoW

например

using (var context = Resolver.GetService<IUoW>())
{
    var dataService1 = Resolver.GetService<IDataService1>();
    var dataService2 = Resolver.GetService<IDataService2>();

    // do some stuff

    context.Commit();
}

Вариант 1, передать IUoW в вызов Resolver.GetService - нет сведений о конструкторах для реализаций IDataServiceX

Вариант 2, добавить свойство в IDataServiceX для IUoW - не устанавливая это было бы легко сделать, как программист узнал бы, что это свойство должно быть установлено

1 Ответ

1 голос
/ 12 января 2012

Ранее я реализовал шаблон единиц работы (UoW) и репозитория в Entity Framework.

На самом деле UoW абстрагировал контекст EF, а репозитории абстрагировали наборы сущностей.

В моей реализации репозитории были свойства UoW, то есть не контейнер IoC управлял жизненным циклом репозиториев, а ответственность UoW была.

В вашей ситуации репозиторииименованные услуги, но, возможно, то же самое относится.Может ли интерфейс IUoW иметь два (или более) свойства для всех служб, существующих в конкретной единице работы?

...