Является ли приемлемым запуск инъекции зависимостей на нескольких уровнях? - PullRequest
0 голосов
/ 26 декабря 2018

Допустимо ли инициировать внедрение зависимости на нескольких уровнях?

Позвольте мне привести пример: скажем, у меня есть служба с API, которая возвращает несколько ресторанов рядом с предоставленным местоположением GPS.

Во время запуска службы я хочу использовать внедрение зависимостей для создания экземпляров глобальных объектов (пример: класс транслятора GpsCoordinatesToCountryState).

Когда приходит запрос на API getRestaurants (GpsLocation), я хочу снова использовать Dependency Injection для создания объектов, которые вызываются для поиска ресторанов рядом с заданным местоположением.Например, я мог бы хотеть использовать полиморфизм, чтобы обращаться с пользователями в США и Индии по-разному для определенных классов.

Является ли этот подход приемлемым или он нарушает какие-либо передовые практики использования DI?

...