Решите во время запуска, какую реализацию использовать для сервиса, предоставляемого с помощью Dependency Injection - PullRequest
1 голос
/ 23 октября 2019

Давайте предположим, что у меня есть приложение переднего плана, которое должно извлекать данные из некоторого бэкэнда. И давайте предположим, что есть 2 различные реализации REST API бэкэнда: BackEnd1 и BackEnd2 . Они оба предлагают одинаковую семантику, поэтому клиент может использовать любую из них, но структура их пар ввода / вывода различна.

Чтобы скрыть эти различия, я могу создать интерфейс BackEndInterface, который определяет методычто клиент вызовет и предоставит 2 класса реализации, BackEndImpl1 и BackEndImpl2, для BackEnd1 и BackEnd2 соответственно. Какой из них использовать, определяется с помощью механизмов Dependency Injection (DI).

Вопрос в том, можно ли управлять DI с помощью внешней конфигурации и принимать решение при запуске приложения, например, при чтении среды. переменная или файл конфигурации, какую реализацию использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...