Если сам класс SomeService
нуждается в репозитории только для того, чтобы создать помощника (что в вашем примере не показано, кстати), самым простым решением было бы изменить класс, чтобы внедрить помощника.
public class SomeService : Service
{
private IHelper helper;
public SomeService(IHelper helper)
{
this.helper = helper;
}
public object Get(Request req)
{
var somethingFromHelper = helper.GetSomething();
// ... etc ...
}
}
А затем в вспомогательной реализации обновите его, чтобы в него был добавлен репозиторий:
public class SomeHelper : IHelper
{
private IRepository repo;
public SomeHelper(IRepository repo)
{
this.repo = repo;
}
public object GetSomething()
{
repo.GetSomethingFromDB();
// ... etc ...
}
}
Этот процесс использует преимущества любого используемого вами DI-контейнера и ограничивает зависимости конкретно для классаиспользует.И избавляется от посторонних публичных свойств при загрузке, что тоже хорошо.