python-dependency-injector/docs/examples/services_miniapp_v2.rst

74 lines
1.8 KiB
ReStructuredText
Raw Normal View History

Services mini application example (v2 - single container)
---------------------------------------------------------
2016-11-12 00:08:47 +03:00
.. meta::
:description: "Services miniapp" is an example mini application that
consists from several services that have dependencies on
some standard and 3rd-party libraries for logging,
interaction with database and remote service via API.
"Services miniapp" example demonstrates usage of
Dependency Injector for creating inversion of control /
dependency injection container.
2016-11-12 00:08:47 +03:00
"Services miniapp" is an example mini application that consists from several
services that have dependencies on some standard and 3rd-party libraries for
logging, interaction with database and remote service calls via API.
"Services miniapp" example demonstrates usage of
:doc:`Dependency Injector <../index>` for creating IoC container.
2016-11-12 00:08:47 +03:00
Instructions for running:
.. code-block:: bash
python run.py 1 secret photo.jpg
Example application
~~~~~~~~~~~~~~~~~~~
Classes diagram:
.. image:: /images/miniapps/services/classes.png
:width: 100%
:align: center
Example application structure:
.. code-block:: bash
/example
/__init__.py
/main.py
/services.py
Listing of ``example/services.py``:
.. literalinclude:: ../../examples/miniapps/services_v2/example/services.py
2016-11-12 00:08:47 +03:00
:language: python
Listing of ``example/main.py``:
.. literalinclude:: ../../examples/miniapps/services_v2/example/main.py
2016-11-12 00:08:47 +03:00
:language: python
IoC container
~~~~~~~~~~~~~
2016-11-12 00:08:47 +03:00
Listing of ``container.py``:
2016-11-12 00:08:47 +03:00
.. literalinclude:: ../../examples/miniapps/services_v2/container.py
2016-11-12 00:08:47 +03:00
:language: python
Run application
~~~~~~~~~~~~~~~
Listing of ``run.py``:
.. literalinclude:: ../../examples/miniapps/services_v2/run.py
2016-11-12 00:08:47 +03:00
:language: python
.. disqus::