Adapter
Adapter é um dos padrões de projeto estruturais do GoF.
Cada adaptador de classes e de objetos tem diferentes soluções de compromisso. Um adaptador de classe:
Muitas vezes uma classe que poderia ser reaproveitada não é reutilizada justamente pelo fato de sua interface não corresponder à interface específica de um domínio requerida por uma aplicação.
Imagem: NASA's Marshall Space Flight Center · BY-NC · Openverse
O padrão Adapter pode ser utilizado quando:
Imagem: NASA's Marshall Space Flight Center · BY-NC · Openverse
O padrão GoF Bridge possui uma estrutura similar a um adaptador de objeto propriamente dito, mas esse padrão tem uma intenção diferente: tem como objetivo separar uma interface da sua implementação, de uma forma que elas possam variar fácil e independentemente. Um adaptador do padrão Adapter se destina a mudar a interface de um objeto existente. Outro padrão estrutural GoF que podemos citar é o Decorator, que por sua vez, aumenta outro objeto sem mudar sua interface. Desta forma, um Decorator é mais transparente para a aplicação do que um adaptador de Adapter. Como consequência, o Decorator suporta a composição recursiva, a qual não é possível com adaptadores puros. Por fim, o padrão Proxy, que também é um padrão estrutural, permite a definição de um representante ou “procurador” para outro objeto e não muda sua interface.


