Sobes.tech
Junior — Middle

Тафовут байни принсипи ислоҳи вобастагиҳо ва усулҳои ворид кардани вобастагиҳо дар барномаҳо чист?

sobes.tech AI

Ҷавоб аз AI

Ҳамоҳанглашуви асоси (Dependency Inversion Principle, DIP) — SOLID принципларидан бири бўлиб, у шундай дейди:

  • Юқори даражадаги модуллар паст даражадаги модулларга боғлиқ бўлмаслиги керак. Иккала ҳам абстракциялардан боғлиқ бўлиши керак.
  • Абстракциялар тафсилотларга боғлиқ бўлмаслиги керак. Тафсилотлар абстракциялардан боғлиқ бўлиши керак.

Бошқа сўз билан айтганда, DIP компонентлар ўртасида қаттиқ боғланишни камайтиришга қаратилган, абстракциялар (масалан, интерфейслар) орқали.

Маҳаллий боғлиқликни инжекция қилиш (Dependency Injection, DI) усуллари — DIPни амалга оширишга имкон берадиган махсус техникалар. DI — бу класс ташқи томондан боғлиқликларни (объектлар, хизматлар) ўтказиш усули, уларни класс ичида яратиш ўрнига.

DIнинг мисоллари:

  • Конструктор орқали инжекция — боғлиқликлар конструктор орқали ўтказилади.
  • Setter орқали инжекция — боғлиқликлар сеттерлар орқали ўтказилади.
  • Интерфейс ёки майдонлар орқали инжекция (масалан, фреймворклар ёрдамида).

Шунинг учун, DIP — дизайн принципи, ва DI — уни кодда амалга ошириш усули.