Это называется разоблачение делегата . Хотя это действительно в некоторых случаях (выходящих за рамки этого ответа), это обычно не рекомендуется, поскольку оно нарушает закон Деметры и, следовательно, инкапсуляцию. Я бы не рекомендовал это. Основная идея любой абстракции - скрывать детали; Шаблон адаптера ничем не отличается. В этом случае мы скрываем интерфейс делегата за тем, который ожидает клиент. Раскрытие делегата клиенту позволит обойти эту абстракцию, наделяя ее множеством противоречивых обязанностей - не очень хорошее дизайнерское решение.
Если клиенту нужен делегат, а также адаптер, это не должно быть проблемой, потому что клиент все равно передает экземпляр делегата конструктору адаптера. Теперь, если вы говорите, что другим клиентам нужен доступ к тому же экземпляру делегата, тогда это совсем другой вопрос, и вы можете использовать другие шаблоны / решения (Singleton или перевод экземпляра в общую зависимость).
В любом случае, надеюсь, это поможет!