Я просто предложил следующий шаблон для кого-то другого.Я использовал его несколько раз, когда хотел иметь возможность вводить зависимости для тестирования, но все же хотел, чтобы этот бэкдор (в некоторой степени) был невидим для посторонних.Следовательно, пустой публичный ctor и внутренний ctor с аргументом:
public class ClassThatUseInjection
{
private readonly SomeClass _injectedClass;
public ClassThatUseInjection(): this(new SomeClass()) {}
internal ClassThatUseInjection(SomeClass injectedClass)
{
_injectedClass = injectedClass;
}
}
public class SomeClass
{
public object SomeProperty { get; set; }
}
Моя идея заключалась в том, что, поскольку пустой ctor не делает ничего, кроме пересылки с новым экземпляром, мое преступление не так уж и плохо.Как вы думаете?Это слишком вонючий?
С уважением, Мортен