mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-23 10:03:56 +03:00
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""Dependency injection example, Cars & Engines IoC containers."""
|
|
|
|
import example.cars
|
|
import example.engines
|
|
|
|
import dependency_injector.containers as containers
|
|
import dependency_injector.providers as providers
|
|
|
|
|
|
class Engines(containers.DeclarativeContainer):
|
|
"""IoC container of engine providers."""
|
|
|
|
gasoline = providers.Factory(example.engines.GasolineEngine)
|
|
|
|
diesel = providers.Factory(example.engines.DieselEngine)
|
|
|
|
electric = providers.Factory(example.engines.ElectricEngine)
|
|
|
|
|
|
class Cars(containers.DeclarativeContainer):
|
|
"""IoC container of car providers."""
|
|
|
|
gasoline = providers.Factory(example.cars.Car,
|
|
engine=Engines.gasoline)
|
|
|
|
diesel = providers.Factory(example.cars.Car,
|
|
engine=Engines.diesel)
|
|
|
|
electric = providers.Factory(example.cars.Car,
|
|
engine=Engines.electric)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
gasoline_car = Cars.gasoline()
|
|
diesel_car = Cars.diesel()
|
|
electric_car = Cars.electric()
|