Руководства
Объектный граф на чистом Dart
Async-клиенты, Repository, сервисы, дочерние override и teardown по зависимостям.
v0.1.0-dev.1Средний уровеньark_di
Объектный граф на чистом Dart
Определите Composition Root
Зарегистрируйте неизменяемую конфигурацию как Instance. Async-клиент, Repository и сервис задайте как Lazy Singleton с явными disposer.
Разрешите прикладной сервис
Вызовите getAsync<CatalogService>(). Ark DI создаст сначала клиент, затем Repository и сервис, одновременно фиксируя граф зависимостей.
Создайте ограниченный preview Scope
Переопределите Repository реализацией в памяти. Переопределите и потребляющий сервис, чтобы дочерний граф получил локальный Repository.
Закройте дочерний Scope до родителя
Сначала закройте preview, затем контейнер приложения. Сервисы завершатся раньше Repository, а Repository — раньше клиентов.