Девятый объект иерархии родительских дочерних контейнеров (например, наследование)

#inheritance #dependency-injection #unity-container #ioc-container #ninject

#наследование #внедрение зависимостей #unity-контейнер #ioc-контейнер #ninject

Вопрос:

Ninject Есть ли что-нибудь похожее на Unity концепцию родительских / дочерних контейнеров для обеспечения базовой модели наследования? Я погуглил, но ничего не нашел.

Комментарии:

1. Это может быть поздним ответом, и поскольку это не связано с Ninject, я помещаю это в качестве комментария, но есть еще один хороший фреймворк IoC (не полный, как Ninject, но, возможно, более подходящий для Unity) github.com/sebas77/Lightweight-IoC-Container-for-Unity3D

Ответ №1:

Ninject поддерживает иерархии контейнеров с помощью https://github.com/ninject/ninject.extensions.childkernel . Смотрите также мою статью http://www.planetgeek.ch/2010/12/08/how-to-use-the-additional-ninject-scopes-of-namedscope / о дополнительных областях для Ninject. Особенно посмотрите на последнюю часть. Иногда лучше использовать эту концепцию, а не иерархию контейнеров.

Ответ №2:

Существуют блоки активации. Не знаком с конкретной документацией, но в статье о кешировании и сборе есть пример. Я бы посмотрел в тестах больше примеров.

Я уверен, что @Remo Gloor присоединится, но я полагаю, что общее отношение команды (и оригинального автора) заключается в том, что вложенные контейнеры — плохая идея и, следовательно, вряд ли будут поддерживаться непосредственно в ядре (но это может быть через расширение — например, как сохранение контекста