Я бы хотел настроить контейнер Windsor таким образом, чтобы один экземпляр в одноэлементном стиле мог предоставлять две или более служб через контейнер.
Я обнаружил, что использование одного и того же типа в объявлениях нескольких компонентов (конфигурация на основе XML) приведет к тому, что будет создан экземпляр этого типа для предоставления интерфейса службы каждого компонента, а это не то поведение, которого я желаю.
Например:
interface IA { }
interface IB { }
class AB : IA, IB { ... }
Я хочу, чтобы один экземпляр AB предоставлял услуги как IA, так и IB.
Конкретная причина, по которой я хочу это сделать, заключается в том, что моя конкретная реализация DAO расширяет несколько интерфейсов. С другой стороны, у меня есть несколько рабочих компонентов, которые содержат ссылку на различные интерфейсы. Конкретный экземпляр DAO учитывает это, но конструкторы этих отдельных рабочих компонентов хотят реализации своих отдельных интерфейсов, и я хочу, чтобы Castle.Windsor передавал один и тот же экземпляр объекта этим рабочим контейнерам через соответствующие запросы на обслуживание.
лол, я думаю, это было ясно, как грязь! : P
Кто-нибудь понимает, что я имею в виду, и у кого-нибудь есть идеи, как мне добиться этого с помощью конфигурации XML для компонентов?