У меня есть интерфейс IA .Адаптер B реализует этот интерфейс. IZ - это интерфейс, который реализуется классами X , Y и Z .IA - это интерфейс, с которым мое приложение общается с X, Y и Z, используя адаптер B .B содержит экземпляр IZ (шаблон адаптера).Теперь из адаптера B я хочу получить доступ к функциональности, которая уникальна для X, но, поскольку в адаптере он связан с интерфейсом IZ, как я могу получить доступ к этой функции clean ?Кроме того, экземпляр IZ в адаптере B определяется во время выполнения, основываясь на некоторых действиях пользователя вручную.Можно ли каким-либо образом использовать внедрение зависимостей для создания экземпляра IZ в адаптере B (я хочу избежать использования оператора new )?Айова|B (имеет экземпляр ИЗ)
ИЗ/ |\XYZ
РЕДАКТИРОВАТЬ: Есть большие шансы, что X ', Y', Z 'могут появиться в кадре ... все с тем же интерфейсом IZ, но Y' может иметь один метод (может не совпадать с X), которыйтребуется доступ из B. Оба уникальных метода Y 'и X адаптируются к некоторому общему методу M в интерфейсе IA
У меня нет контроля над X, Y и Z или X', Y', Z' кроме того, что они могут реализовать интерфейс IZ.Но у меня есть контроль над IA и B. Я по существу использовал шаблон адаптера, чтобы новые классы могли адаптироваться к моему интерфейсу IA