Внедрение зависимостей - требуется новый экземпляр в некоторых методах классов

У меня есть код, который выглядит примерно так:

public MyService(IDependency dependency)
{
    _dependency = dependency;
}

public Message Method1()
{
    _dependency.DoSomething();

}

public Message Method2()
{
    _dependency.DoSomething();  
}

public Message Method2()
{
    _dependency.DoSomething();  
}

Теперь я только что понял это, потому что объект зависимости содержит информацию о внутреннем состоянии. Мне нужно создавать новый экземпляр его при каждом вызове метода

Итак, как лучше всего сделать это, и при этом еще не обновлять конкретный экземпляр?

Вы бы использовали контейнер IoC и позвонили бы в к контейнеру в каждом из методов? Или есть более удобный способ сделать только один вызов контейнера?

Что, если бы я не использовал контейнер IoC - есть ли способ не обновлять конкретный экземпляр в каждом методе?

29
задан Wim Coenen 10 January 2011 в 15:27
поделиться