Встречается на собеседованиях • сегодня

Можешь ли описать Invertion Of Control на примере такси

IoC (Inверсия управления) — это принцип, при котором управление объектами делегируется внешнему контейнеру, а не реализуется внутри самого класса.

Пример с такси:
Вместо того чтобы клиент сам вызывал такси (создавал объект), он использует сервис (например, Яндекс.Такси), который управляет процессом. Клиент лишь указывает точку назначения, а сервис решает, какое авто подать, какой маршрут выбрать и т. д.

Код на Java (Spring IoC):

java
// Без IoC: клиент сам создает такси
Taxi taxi = new YandexTaxi();
taxi.driveTo("Airport");

// С IoC: контейнер управляет зависимостями
@Autowired
private Taxi taxi;  // Spring внедрит реализацию
taxi.driveTo("Airport");

Здесь Taxi — абстракция, а конкретный сервис (YandexTaxi/Uber) определяется контейнером.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы