Ребята,
Мне нужно создать библиотеку в проекте, который использует DI для внутреннего использования, например:
Библиотека
namespace Library
{
public class SomeService : ISomeService
{
private readonly IOtherService _otherService;
public SomeService(IOtherService otherService,
IConfiguration configuration) { /* constructor stuff */ }
//... class stuff
}
}
Но он будет использоваться как пакет nuget в другом проекте, который не использует DI напрямую.
Каков наилучший способ разрешения зависимостей этой библиотеки и создания экземпляра службы на клиенте проект?
Я подумываю о создании точки входа с шаблоном ServiceLocator и предоставлении ее клиенту, это единственный (или лучший) способ для этой работы?
Есть ли другая способ построить библиотеку, как это?
РЕДАКТИРОВАТЬ: я использую DI-фреймворк для внутренней связи классов внутри библиотеки. И клиентский проект имеет запуск, регистрирующий зависимости, но классы не готовы к приему экземпляров в конструкторе.