ПРИНЦИП ИНВЕРСИИ ЗАВИСИМОСТЕЙ PHP

Принцип инверсии зависимостей (Dependency Inversion Principle, DIP) является одним из пяти основных принципов SOLID, которые помогают написать чистый и поддерживаемый код на языке PHP.

Он заключается в том, что модули верхних уровней не должны зависеть от модулей нижних уровней, а оба вида модулей должны зависеть от абстракций. То есть, необходимо использовать интерфейсы и абстрактные классы, чтобы модули взаимодействовали друг с другом через общий набор методов, а не непосредственно.

Например, вместо того, чтобы класс A напрямую использовал класс B:

$classA = new A();
$classB = new B();
$classA->doSomething($classB);

Мы можем использовать интерфейс и инвертировать зависимости:

interface InterfaceB {
public function something();
}

class B implements InterfaceB {
public function something() {
// some code
}
}

class A {
private $b;
public function __construct(InterfaceB $b) {
$this->b = $b;
}
public function doSomething() {
$this->b->something();
}
}

$b = new B();
$classA = new A($b);
$classA->doSomething();

Теперь класс A зависит от интерфейса InterfaceB, а не от конкретной реализации класса B. Это упрощает тестирование и поддержку кода, так как если мы захотим заменить класс B на другой, мы можем создать новый класс, реализующий интерфейс InterfaceB.

SOLID, Dependency Inversion Principle, Принцип инверсии зависимостей. [#42]

Принципы SOLID. Часть 5. Принцип инверсии зависимостей

SOLID в PHP - Принцип инверсии зависимостей Dependency Inversion Principle - DIP

2.6 Принципы подстановки Лисков и разделения интерфейса - Курс «Паттерны и практики написания кода»

SOLID ПРИНЦИПЫ простым языком (много примеров)

#5 SOLID в PHP - Принцип инверсии зависимостей

ChatGPT не подскажет. Как заработать на ИИ? Топ-10 инвестидей от экспертов

#10 dependency injection aka Внедрение зависимостей (it-ликбез из тачилы)

Реклама
Новое
Реклама