Принцип инверсии зависимостей

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Принцип инверсии зависимостей (англ. dependency inversion principle, DIP) — принцип объектно-ориентированного программирования, суть которого состоит в том, что классы должны зависеть от абстракций, а не от конкретных деталей[1]. Используется для минимизации зацепления в компьютерных программах. Входит в пятёрку принципов SOLID. Принцип был выведен в трудах Роберта Мартина[1][2].

Формулировка[2]:

  • A. High level modules should not depend upon low level modules. Both should depend upon abstractions.
  • B. Abstractions should not depend upon details. Details should depend upon abstractions.

Формулировка на русском языке:

  • A. Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба типа модулей должны зависеть от абстракций.
  • B. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

См. также

Примечания

  1. 1,0 1,1 CC, 2009, с. 181.
  2. 2,0 2,1 Robert C. Martin. The Dependency Inversion Principle (англ.) (недоступная ссылка). Дата обращения: 12 сентября 2022. Архивировано 14 июля 2011 года.

Литература