Kephas не предоставляет сам контейнер DI / IoC, он обеспечивает только уровень абстракции над контейнерами DI / IoC, так что он может использовать саму композицию без привязки к конкретной реализации.Он предоставляет адаптер для этого уровня абстракции для System.Composition
в пакете Kephas.Composition.Mef (https://www.nuget.org/packages/Kephas.Composition.Mef/).. Мы планировали также адаптер для Autofac
, но у нас не было времени на его реализацию.в конец.
Обратите внимание, что этот уровень абстракции имеет некоторые особенности, уникальные для Kephas:
- Зарегистрированные реализации служб могут быть переопределены, чтобы использовать многоуровневые архитектуры приложений.
- Сервисные контракты / интерфейсы управляют регистрацией с помощью атрибутов
[*AppServiceContract]
.
Также обратите внимание, что поддержка метаданных является обязательной функцией для платформ DI, с которыми интегрируется Kephas, что в некоторых случаяхможет вводить ограничения. Для получения дополнительной информации вы можете прочитать здесь: https://github.com/kephas-software/kephas/wiki/Composition-and-Dependency-Injection.