Насколько мы понимаем, шаблон адаптера создает объект-обертку для нашего реального объекта интереса, просто еще один уровень косвенности, который обеспечивает гибкость. гибкость заключается в том, что если интерфейс реального объекта изменяется, то мы меняем интерфейс оболочки, указывающий на реальный объект, оставляя незащищенный интерфейс на стороне клиента неизменным.
Прокси шаблон такой же, с той разницей , что каждый прокси - обертка обеспечивает только когерентное подмножество функций реального объекта. Почему это было бы полезно, если мы стремимся сделать «один класс для одной цели» - это выше моего понимания.
Я правильно понял?
источник
Мне нравится это объяснение:
Прокси изменяет поведение Сервиса, но сохраняет его интерфейс.
Адаптер изменяет интерфейс Сервиса, но сохраняет его поведение.
источник: https://www.netobjectives.com/PatternRepository/index.php?title=AdapterVersusProxyVersusFacadePatternComparison
источник