Введение

Транзитивная зависимость - это косвенная зависимость между компонентами программного обеспечения. Этот вид зависимости поддерживается в силу переходного отношения от компонента, от которого программное обеспечение напрямую зависит.

Компьютерные программы

В компьютерной программе прямая зависимость - это функциональность библиотеки, или API, или любого программного компонента, на который ссылается непосредственно сама программа. Транзитивная зависимость - это любая зависимость, индуцированная другим компонентом, который, в свою очередь, прямо или косвенно ссылается на программу. Например, вызов функции log может вызвать транзитивную зависимость от библиотеки, которая управляет входом/выходом записи сообщения в файл log. Зависимости и транзитивные зависимости могут быть решены в разное время, в зависимости от того, как компьютерная программа смонтирована и/или выполнена: например, компилятор может иметь фазу ссылки, в которой зависимости разрешаются. Иногда система сборки даже позволяет управлять переходными зависимостями. Точно так же, когда компьютер использует сервисы, компьютерная программа может зависеть от сервиса, который должен быть запущен до выполнения программы. Переходная зависимость в таком случае - это любая другая услуга, от которой зависит служба, от которой мы напрямую зависим, например, веб-браузер зависит от службы разрешения доменных имен для преобразования веб-адреса URL в IP-адрес; DNS будет зависеть от сетевой службы для доступа к удаленному серверу имен. Загрузочная система Linux основана на наборе конфигураций, которые объявляют зависимости модулей, которые будут запущены: во время загрузки анализирует все транзитивные зависимости, чтобы решить порядок выполнения каждого модуля для запуска.