Dependency Injection в python

Dependency Injection — это подход, при котором объект получает зависимости извне, а не создаёт их самостоятельно. Такой принцип снижает связанность компонентов, упрощает тестирование, делает архитектуру гибче и напрямую поддерживает принципы SOLID.

В экосистеме python есть мощный DI-фреймворк — python-dependency-injector: https://github.com/ets-labs/python-dependency-injector. Он написан на cython — благодаря этому работает заметно быстрее обычного python-кода.

Многие воспринимают python как язык для автоматизации, анализа данных, ML или быстрых прототипов. Но на практике есть полноценные продукты с бекендом на python, которые работают под серьёзной нагрузкой, где использование подходов вроде DI может быть крайне полезным.

Пару лет назад использовать dependency-injector в продакшене было рискованно — проект не обновлялся около двух лет, не было ясности, жив ли он вообще. Сейчас всё иначе: фреймворк активно развивается, регулярно выходят релизы. Это хороший знак.

Если ещё не использовали — сейчас самое время попробовать. Гибкая архитектура в python вполне возможна.

Dependency Injection в python | Сетка — социальная сеть от hh.ru Dependency Injection в python | Сетка — социальная сеть от hh.ru
repost

162

input message

напишите коммент

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь