В чем разница между AmbientServices и CompositionContext в Kephas? - PullRequest
1 голос
/ 29 марта 2019

Из того, что я заметил, они делают одно и то же, предоставляют услуги в форме IoC / DI.Однако IAmbientServices имеет член типа ICompositionContext.Я действительно не понимаю разницы между ними и почему они объединяются таким образом?

1 Ответ

1 голос
/ 31 марта 2019

Краткий ответ таков: ambient services содержит службы, зарегистрированные до контейнера IoC / DI / Composition, тогда как composition context является корневым контейнером для IoC / DI и сам по себе являетсяслужба, зарегистрированная в ambient services.

В качестве примечания, все службы, зарегистрированные в ambient services, впоследствии автоматически регистрируются также в контейнере DI, включая IAmbientServices, поэтому они доступны для композиции.тоже.

Примеры для окружающих сервисов:

  • менеджер журналов : поставщик регистраторов.
  • тип загрузчика : загружает типы из сборок.
  • хранилище конфигурации : предоставляет основные параметры конфигурации.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...