Sobes.tech
Junior — Middle

Принсипи иваз кардани идораро бо намунаи системи даъвати таксӣ шарҳ диҳед.

sobes.tech AI

Ҷавоб аз AI

Инверсияи идора (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-ро намесозад, балки онро аз берун мегирад. Ин ба санҷиш, васеъкунӣ ва нигоҳдории коди осонтар мекунад, зеро вобастагиҳоро метавон тағир дод бидуни тағир додани синфи худ.