Что такое "модули высокого уровня" и "модули низкого уровня" (в контексте принципа инверсии зависимости)?

Я читал определение принципа инверсии зависимостей в Википедии, в котором используются два термина: модули высокого уровня и модули низкого уровня, которые я не смог понять.

Что это такое и какое отношение имеет принцип обращения зависимостей?

3 ответа

Решение

Их определение дано во вступительном предложении:

высокий уровень: установление политики
низкий уровень: модули зависимости.

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

Это объясняется здесь:https://softwareengineering.stackexchange.com/a/419630

Модули низкого уровня являются «низкоуровневыми», потому что они не имеют зависимостей или не имеют соответствующих зависимостей. Очень часто их можно легко повторно использовать в разных контекстах без введения каких-либо отдельных формальных интерфейсов — это означает, что их повторное использование является прямым, простым и не требует какой-либо инверсии зависимостей.

Модули высокого уровня , однако, являются «высокоуровневыми», поскольку для их работы требуются другие модули более низкого уровня . Но если они привязаны к конкретной низкоуровневой реализации, это часто мешает повторно использовать их в другом контексте.

  1. Модуль низкого уровня - это программа, написанная для решения конкретной проблемы (расчет НДС на основе кода страны)
  2. Модуль высокого уровня - это программа, написанная для решения общей проблемы (доступ к базе данных)
Другие вопросы по тегам