Луковая архитектура и регистрация зависимостей в DI-контейнере

Я читал об архитектуре Onion, и у меня есть простой вопрос о том, как должны быть организованы зависимости сборки, чтобы контейнер DI мог все соединить.

Предположим очень простое решение, которое имеет следующую структуру:

UI => BL <= DAL

Таким образом, пользовательский интерфейс и DAL ссылаются на BL, но не знают друг друга.

Также предположим, что BL имеет интерфейс с именем IDatabaseService, который реализован в DAL с помощью DALDatabaseService.

Контейнер будет (предположительно) настроен в точке входа пользовательского интерфейса. Поскольку пользовательский интерфейс не знает о DAL, как он может зарегистрировать IDatabaseService для разрешения в DALDatabaseService?

Ответы на вопрос(1)

Ваш ответ на вопрос