Gumagamit ito ng mga tagapaglarawan at decorators na banggitin ang mga panlabas na dependency, at saklaw upang tukuyin kung paano gamitin muli ang mga bagay.
Dependency maaaring na-reference sa pamamagitan ng mga uri at opsyonal na mga anotasyon.
Walang configuration ay kailangan, ngunit ang mga advanced na in-code pagsasaayos ay maaari.
Karamihan sa iba pang mga tool python dependency iniksyon, tulad ng PyContainer o Spring Python, ay port mula sa iba pang mga wika (Java). Kaya ang mga ito ay batay sa dependency iniksyon paraan tiyak na para sa statically-type ng mga wika.
Python ay hindi Java, at iba pa pattern at mga diskarte sa programming, na mukhang tamang at kapaki-pakinabang sa isang wika, maaaring maging mahirap sa isa pa.
Mag-iniksyon ay nilikha upang magbigay ng isang pythonic paraan ng dependency iniksyon, ang paggamit tiyak na pag-andar Python.
Terminolohiya ginamit sa mag-iniksyon ay sadyang ginawa katulad ng Guice, gayunpaman panloob na arkitektura ay iba
Mga Tampok :.
- Mabilis, 2-3 beses lamang mas mabagal na direct Instantiation.
- Normal na paraan ng instantiating bagay, Class (* args, ** kwargs).
- Injecting mga argumento sa mga pag-andar at mga pamamaraan.
- tumutukoy sa mga dependency sa pamamagitan ng uri at opsyonal na mga anotasyon.
- Pag-bind sa callables, mga halimbawa at hindi nakatali pamamaraan (tingnan ang [nvokers).
- Hiling saklaw middleware para sa mga application WSGI at Django (nangangailangan ng Python2.5 +).
- Walang kinakailangang pag-configure sa lahat.
- Advanced configuration kakayahang umangkop posibleng
- Ang dalawang mga pamamaraan ng pag-iiniksyon, isang tagapaglarawan at isang dekorador
- Suporta para sa inheritance sa pamamagitan ng pagpasa inject.super bilang ng mga halaga ng default kwarg
- Invokers upang tawagan ang walang balat pamamaraan (cool na para sa mga tagapakinig)
- Bahagyang injections, kapag lamang ng ilang mga argumento ay injected:
- saklaw: application (walang pareho), kahilingan, noscope
- Madaling pagsasama sa umiiral na proyekto.
Ano ang bagong sa paglabas:.
- Inalis intelliJ file ideya
Mga Komento hindi natagpuan