Junior — Middle
Taksi çağırma sisteminin nümunəsi ilə idarəetmənin tərs prinsipi haqqında izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Инверсия управления (IoC) — это принцип, при котором управление созданием и связыванием объектов передаётся внешнему контейнеру или фреймворку, а не реализуется напрямую в коде.
Пример на системе вызова такси:
- Вместо того, чтобы класс
TaxiServiceсам создавал объектыDriverилиCar, эти зависимости передаются ему извне (например, через конструктор). - Контейнер IoC отвечает за создание и связывание всех объектов.
public class TaxiService {
private Driver driver;
// Зависимость передаётся извне
public TaxiService(Driver driver) {
this.driver = driver;
}
public void callTaxi() {
driver.driveToCustomer();
}
}
Здесь TaxiService не создаёт Driver самостоятельно, а получает его извне. Это упрощает тестирование, расширение и поддержку кода, так как зависимости можно менять без изменения самого класса.