Внедрение зависимостей (dependency injection): примеры
Пример без внедрения зависимости В следующем примере Java класс Client содержит переменную Service, которая инициализируется конструктором Client. Клиент контролирует, какая реализация сервиса используется, и контролирует его построение. В этой ситуации говорят, что клиент имеет жесткую зависимость от ExampleService. // Пример без внедрения зависимости public class Client { // внутренняя ссылка на сервис, // используемый этим клиентом private ExampleService service; // Конструктор Client() { // Указываем конкретную реализацию в конструкторе // вместо использования внедрения зависимости service = new ExampleService(); } // Метод в клиенте, который использует сервис public String greet() { return "Hello " + service.getName(); } } Внедрение зависимостей - это альтернативный метод инициализации переменной, вместо явного создания объекта service, как показано выше. Мы можем изменить этот пример, исполь...