Update dependency injection example in introduction/what_is_di.rst

This commit is contained in:
Roman Mogilatov 2016-10-19 19:28:49 +03:00
parent 63bc3f95e7
commit a8c9219d09
6 changed files with 4 additions and 58 deletions

View File

@ -81,14 +81,14 @@ Example
Let's go through the code of ``example.py``:
.. literalinclude:: ../../examples/ioc_di_demos/example.py
.. literalinclude:: ../../examples/di_demo/example.py
:language: python
:linenos:
At some point, things defined above mean, that the code from ``example.py``,
could look different, like in ``example_ioc.py``:
could look different, like in ``example_di.py``:
.. literalinclude:: ../../examples/ioc_di_demos/example_ioc.py
.. literalinclude:: ../../examples/di_demo/example_di.py
:language: python
:linenos:

View File

@ -1,4 +1,4 @@
"""The Code, that follows inversion of control principle."""
"""The Code, that demonstrates dependency injection pattern."""
class Service(object):

View File

@ -1,17 +0,0 @@
"""Car & Engine example."""
class Engine(object):
"""Example engine."""
class Car(object):
"""Example car."""
def __init__(self):
"""Initializer."""
self.engine = Engine() # Engine is a "hardcoded" dependency
if __name__ == '__main__':
car = Car() # Application creates Car's instance

View File

@ -1,18 +0,0 @@
"""Refactored Car & Engine example that demonstrates inversion of control."""
class Engine(object):
"""Example engine."""
class Car(object):
"""Example car."""
def __init__(self, engine):
"""Initializer."""
self.engine = engine # Engine is an "injected" dependency
if __name__ == '__main__':
engine = Engine() # Application creates Engine's instance
car = Car(engine) # and inject it into the Car's instance

View File

@ -1,19 +0,0 @@
"""Example of inversion of control container for Car & Engine example."""
import dependency_injector.containers as containers
import dependency_injector.providers as providers
import car_engine_ioc
class Container(containers.DeclarativeContainer):
"""IoC container of component providers."""
engine = providers.Factory(car_engine_ioc.Engine)
car = providers.Factory(car_engine_ioc.Car,
engine=engine)
if __name__ == '__main__':
car = Container.car() # Application creates Car's instance