Share to: share facebook share twitter share wa share telegram print page

 

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

Принцип инверсии зависимостей (англ. 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 2 CC, 2009, с. 181.
  2. 1 2 Robert C. Martin. The Dependency Inversion Principle (англ.). Дата обращения: 12 сентября 2022. Архивировано из оригинала 14 июля 2011 года.

Литература

  • Роберт Мартин. Clean Code A Handbook of Agile Software Craftsmanship. — Бостон, Массачусетс: Pearson Education, Inc, 2009. — 462 с. — ISBN 0-13-235088-2.

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

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya