Мне было интересно, существует ли какая-либо передовая практика для предоставления зависимостей абстрактным компонентам.Предоставление зависимостей от абстрактных классов
Допустим, у меня есть метод шаблона алгоритм, как это:
public abstract class TemplateMethod
{
protected abstract void StepA();
protected abstract void StepB();
protected abstract void StepC();
public void Go()
{
StepA();
StepB();
CommonLogic();
StepC();
}
private CommonLogic()
{
myDependency.DoSomething();
}
}
мне не удалось внедрить myDependecy к классу, так как абстрактные TemplateMethod, конечно, никогда не инстанцирован. Мне удалось предоставить это сервисное местоположение, но я уверен, что есть лучший способ сделать это.
Любые идеи?
PS Использование Замок Виндзор как контейнер IoC.
Спасибо! Отличный ответ. –
Конструктор должен быть защищен. –