Det bruger deskriptorer og dekoratører til at henvise eksterne afhængigheder, og deres omfang for at angive, hvordan at genbruge objekter.
Afhængigheder kan refereres af typer og valgfrie anmærkninger.
Ingen konfiguration er nødvendig, men avancerede i-kode konfiguration er mulig.
De fleste andre python afhængighed injektion værktøjer, såsom PyContainer eller Spring Python, er havne fra andre sprog (Java). Så de er baseret på afhængighed injektion måder specifikke for statisk indtastede sprog.
Python er ikke Java, og så mønstre og programmeringsteknikker, som synes korrekt og brugbar på ét sprog, kan være besværligt i en anden.
Inject er blevet skabt for at give en pythonic måde afhængighed injektion, udnytte specifik Python funktionalitet.
Terminologien i injicere er bevidst gjort ligner Guice dog den interne arkitektur er anderledes
Egenskaber :.
- Hurtig, kun 2-3 gange langsommere at direkte instantiering.
- normale måde at instantiere objekter, Klasse (* args, ** kwargs).
- Injektion argumenter i funktioner og metoder.
- Referencering afhængigheder af typer og valgfrie anmærkninger.
- Binding til konverterbare, forekomster og ubundne metoder (se [nvokers).
- Request omfang middleware for WSGI og Django applikationer (kræver Python2.5 +).
- Ingen konfiguration nødvendig på alle.
- Avanceret fleksibel konfiguration mulig
- To injektionsmetoder, en deskriptor og en dekoratør
- Støtte til arv ved at passere inject.super som standard kwarg værdi
- Invokers at kalde ubundne metoder (cool for lyttere)
- Delvise injektioner, hvor kun nogle argumenter injiceres:
- Scopes: ansøgning (singleton), anmodning noscope
- Nem integration i eksisterende projekter.
Hvad er nyt i denne udgivelse:.
- Fjernet IntelliJ idé filer
Kommentarer ikke fundet