Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 31, 2015 11:32:07

asm
Зарегистрирован: 2014-06-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Dependency injection in python

Всем привет!

Хотелось бы раскрыть для себя тему dependency injection в python. Но так как сам не совсем хорошо представляю себе это на python, то хотелось бы услышать голос опытных людей.

Что из себя представляет dependency injection в python и как это выглядит?
Есть ли в python уже готовые решения этого паттерна?
Можно ли обойтись без него? Какие есть альтернативы?
Возможно уже есть более менее вразумительные статьи?

Пока что я нашел эти более менее интересные статьи:
http://www.martinfowler.com/articles/injection.html - это похоже с чего все началось
http://peak.telecommunity.com/DevCenter/InversionOfControl - очень простая статья для демонстрации что это такое
http://code.activestate.com/recipes/413268-dependency-injection-the-python-way/ - приличная статья, но последний комментарий ставит все под сомнение
https://wiki.python.org/moin/DependencyInjectionPattern - оф. вики, но ссылки ведут все на предыдущие статьи…

Офлайн

#2 Авг. 31, 2015 12:22:57

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Dependency injection in python

asm
Можно ли обойтись без него?
А какую задачу должно решать внедрение зависимостей в питоне? Приведите пример, можно надуманный.



Офлайн

#3 Авг. 31, 2015 12:25:50

asm
Зарегистрирован: 2014-06-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Dependency injection in python

FishHook
А какую задачу должно решать внедрение зависимостей в питоне? Приведите пример, можно надуманный.
Собственно у меня нет примера, я хочу разобраться что это такое. Я бы с радостью сам бы посмотрел пример а лучше если бы их было несколько, но собственно я уже привел ряд статей.

Отредактировано asm (Авг. 31, 2015 12:26:07)

Офлайн

#4 Авг. 31, 2015 12:30:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Dependency injection in python

В питоне просто не нужно большинство паттернов проектирования. Это динамический язык, в нем нет ограничений, который решаются всяческими извращенными способами. Хотите разбираться с паттернами, берите что-то строготипизированное, а питон тут не в тему.



Офлайн

#5 Авг. 31, 2015 12:37:58

asm
Зарегистрирован: 2014-06-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Dependency injection in python

FishHook
В питоне просто не нужно большинство паттернов проектирования.
Я очень сильно в этом сомневаюсь. Хотя бы знать их надо.

Насчет примера. Статья показывает суть. Как ни крути, это применимо и к python.

Офлайн

#6 Авг. 31, 2015 12:50:50

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2823
Репутация: +  185  -
Профиль   Отправить e-mail  

Dependency injection in python

> Я очень сильно в этом сомневаюсь. Хотя бы знать их надо.

А ты не сомневайся а решай проблемы по мере их поступления.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

#7 Авг. 31, 2015 13:42:10

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Dependency injection in python

asm

При этом есть статья, которая показывает, что DI в питоне не нужен. Причем статья на русском. Искать лень. Гугл в помощь

FishHook
В питоне просто не нужно большинство паттернов проектирования.

Но можно и нужно использовать все равно много. Желательно их изучить, если не хочется потом иметь головную боль и проблемы. Хорошо паттерны для питона описаны в последней книге М. Самерфилда. “Питон на практике”. Причем он активно показывал там паттерны, которые бессмысленны в питоне и объяснял почему.

P.S. Есть специальный модуль для реализация питонячего DI. Вот тут подробнее можно глянуть

Отредактировано 4kpt_III (Авг. 31, 2015 14:05:22)

Офлайн

#8 Авг. 31, 2015 14:12:38

asm
Зарегистрирован: 2014-06-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Dependency injection in python

Огромное спасибо за книжку, почитаю. Давно искал что-то подобное.

Офлайн

#9 Авг. 31, 2015 14:17:51

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Dependency injection in python

asm

Не за что. Книга стоящая. Мало того, что отличные примеры, но еще в качестве бонуса интересные приемы в программировании на питоне. Причем автор в примерах дает исчерпывающие пояснения.

Отредактировано 4kpt_III (Авг. 31, 2015 14:18:09)

Офлайн

#10 Авг. 31, 2015 14:26:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Dependency injection in python

Кто-нибудь, объясните, зачем в питоне нужен DI и отдельный модуль для его реализации.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version