Pelo que entendi, o padrão do adaptador está criando um objeto wrapper para nosso objeto real de interesse, simplesmente mais um nível de indireção, que fornece flexibilidade. a flexibilidade é que, se a interface do objeto real for alterada, mudaremos a interface do wrapper apontando para o objeto real, deixando a interface exposta do lado do cliente inalterada.
O padrão de proxy é o mesmo, com a diferença de que todo wrapper de proxy fornece apenas um subconjunto coerente da funcionalidade do objeto real. Por que isso seria útil, quando nos esforçamos para fazer "uma classe para um propósito" está além de mim.
Eu entendi isso corretamente?
fonte
Eu gosto desta explicação:
O Proxy altera o comportamento do Serviço, mas preserva sua interface.
O adaptador altera a interface do serviço, mas preserva seu comportamento.
fonte: https://www.netobjectives.com/PatternRepository/index.php?title=AdapterVersusProxyVersusFacadePatternComparison
fonte