Изучение

Начало работы

Конфигурация, разрешение и закрытие небольшого контейнера Ark DI.

v0.1.0-dev.1Начальный уровеньark_di

Начало работы

Терминал
shell
dart pub add ark_di
dart
final container = DiContainer.build((binder) {
  binder.bindInstance<AppConfig>(config);
  binder.bindLazySingleton<ApiClient>(
    (resolver) => ApiClient(resolver.get<AppConfig>()),
    dispose: (client) => client.close(),
  );
  binder.bindFactory<CatalogService>(
    (resolver) => CatalogService(resolver.get<ApiClient>()),
  );
});

final service = container.get<CatalogService>();
await container.close();

Callback конфигурации выполняется один раз. DiBinder становится недействительным после его завершения, поэтому runtime-код не может незаметно менять регистрации. Контейнер владеет только теми объектами, для которых это определено семантикой регистрации.

ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.