Внедрение зависимостей(DI) и инверсия управления(IoC) в Python

19 Ноя 2020 , 1688

Внедрение зависимостей(DI) и инверсия управления(IoC) в Python

Внедрение зависимостей - это принцип, который помогает добиться инверсии управления.

Давайте посмотрим, что такое внедрение зависимостей. Внедрение зависимостей(Dependency Injection) - это принцип, который помогает уменьшить взаимосвязь(coupling) и повысить сплоченность(cohesion).

Низкое сцепление(low coupling) обеспечивает гибкость. Ваш код станет легче изменять и тестировать.

Внедрение зависимостей дает вам 3 преимущества:

Гибкость. Компоненты слабо связаны. Вы можете легко расширить или изменить функциональность системы, комбинируя компоненты по-разному. Вы даже можете сделать это на лету.

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

Четкость и ремонтопригодность. Внедрение зависимостей помогает выявить зависимости. Неявное становится явным. И «Явное лучше, чем неявное» (PEP 20 - Дзен Python). У вас есть все компоненты и зависимости, определенные явно в контейнере. Это обеспечивает обзор и контроль структуры приложения. Это легко понять и изменить.

comments powered by Disqus

Подписка

Подпишитесь на наш список рассылки, чтобы получать обновления из блога

Рубрики

Теги