Kephas имеет свой собственный контейнер для инъекций зависимостей. Почему другая структура, почему бы не использовать существующую?

Просто нашел ответ на этот вопрос в ответе на вопрос другого пользователя StackOverflow .

declare global {
    interface Window { MyNamespace: any; }
}

window.MyNamespace = window.MyNamespace || {};

В основном вам нужно расширить существующий интерфейс window, чтобы рассказать об этом новом свойстве .

1
задан Steven 11 March 2019 в 15:16
поделиться

1 ответ

Kephas не предоставляет сам контейнер DI / IoC, он обеспечивает только уровень абстракции над контейнерами DI / IoC, так что он может использовать саму композицию без привязки к конкретной реализации. Он предоставляет адаптер для этого уровня абстракции для System.Composition в пакете Kephas.Composition.Mef ( https://www.nuget.org/packages/Kephas.Composition.Mef/ ). Мы запланировали также адаптер для Autofac, но у нас не было времени, чтобы реализовать его до конца.

Обратите внимание, что этот уровень абстракции имеет некоторые особенности, уникальные для Kephas:

  • Зарегистрированные реализации сервисов могут быть переопределены для использования многоуровневых архитектур приложений.
  • Сервисные контракты / интерфейсы управляют регистрацией посредством атрибутов [*AppServiceContract].

Также обратите внимание, что поддержка метаданных является обязательной функцией для интегрированных сред, с которыми интегрируется Kephas, что в некоторых случаях может налагать ограничения. Для получения дополнительной информации вы можете прочитать здесь: https://github.com/kephas-software/kephas/wiki/Composition-and-Dependency-Injection .

0
ответ дан ioan 11 March 2019 в 15:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: