This commit is contained in:
2025-11-01 12:00:23 +03:00
parent 9b28ef17ff
commit acddb1fbc6
6 changed files with 29 additions and 30 deletions
+4 -4
View File
@@ -22,13 +22,13 @@
:language: python
:linenos:
``Argenta`` -> ``dishka`` зарезолвит тайпхинты и внедрит зависимость с возвращаемым типом ``Connection``, прежде чем использовать зависимость её нужно создать, для этого нужно создать соответствующий провайдер.
``Argenta`` через ``dishka`` разрешит типы и внедрит зависимость с возвращаемым типом ``Connection``. Прежде чем использовать зависимость, её нужно создать, для этого нужно создать соответствующий провайдер.
.. literalinclude:: ../code_snippets/dependency_injection/snippet2.py
:language: python
:linenos:
После создания провайдера, его нужно зарегистрировать в оркестраторе.
После создания провайдера его нужно зарегистрировать в оркестраторе.
.. literalinclude:: ../code_snippets/dependency_injection/snippet3.py
:language: python
@@ -37,7 +37,7 @@
Как это работает?
-----------------
В основе DI в Argente лежат **провайдеры** и **контейнер**.
В основе DI в Argenta лежат **провайдеры** и **контейнер**.
* **Провайдер (Provider)** — это "рецепт", который объясняет, как создавать и настраивать ту или иную зависимость (например, подключение к БД, API-клиент или любой другой сервис).
* **Контейнер (IoC Container)** — это "фабрика", которая хранит все рецепты (провайдеры) и по запросу создаёт и выдаёт готовые зависимости.
@@ -47,7 +47,7 @@
``Argenta`` поставляется с предопределённым провайдером, который даёт доступ к важным системным зависимостям без какой-либо настройки. К примеру вы можете получить объект ``ArgSpace``, который представляет из себя распаршенные аргументы командной строки при запуске приложения.
Краткий сэмпл кода, который получает объект ``ArgSpace`` и выводит в консоль аргумент с именем "type":
Краткий пример кода, который получает объект ``ArgSpace`` и выводит в консоль аргумент с именем "type":
.. literalinclude:: ../code_snippets/dependency_injection/snippet4.py
:language: python