Я читал об архитектуре Onion, и у меня есть простой вопрос о том, как должны быть организованы зависимости сборки, чтобы контейнер DI мог все соединять.
Предположим, что очень простое решение имеет следующую структуру:
UI => BL <= DAL </p>
Итак, пользовательский интерфейс и DAL ссылаются на BL, но не знают друг друга.
Также предположим, что BL имеет интерфейс с именем IDatabaseService, который реализован в DAL с помощью DALDatabaseService.
Контейнер (предположительно) будет настроен в точке входа пользовательского интерфейса. Поскольку пользовательский интерфейс не знает о DAL, как он может зарегистрировать IDatabaseService для преобразования в DALDatabaseService?