Есть ли способ NOB в Ninject для настройки службы в одноэлементной области?

Я использую ninject с ninject.extenions.conventions, Я хотел бы использовать соглашение для инициализации некоторых служб в качестве одиночных. Я знаю, что это просто добавить SingletonAttribute и использовать его с .WithAttribute<SingletonAttribute>() во время настройки. Но я не хочу изобретать велосипед.

1 ответ

Решение

Нет ни одного атрибута синглтона, поставляемого с соглашениями Ninject или ninject. Вопрос в том, как вы хотите определить, какие типы связаны .InSingletonScope(), Вместо атрибута вы также можете отфильтровать типы, имена которых заканчиваются на Service, Или которые реализуют определенный интерфейс. или которые реализуют определенный атрибут.

Я бы посоветовал пойти на соглашение, основанное на именах, если это имеет смысл. Если нет, вам придется выбирать между общим интерфейсом или атрибутом. Если нет общих методов / свойств, тогда интерфейс маркера (пустой интерфейс) не имеет смысла, и вы должны использовать атрибуты.

Другие вопросы по тегам