Intent -> Que as partes se comuniquem sem contaminar a estrutura de código de ambas partes.
Motivation -> Uma das partes possui muitas vezes uma estrutura de comunicação absoleta que precisa ser adaptada para nova solução e também torna transparente a complexidade do modulo sem integrado, agindo como intermediador
Applicabillity -> Quando precisa conectar uma biblioteca de classes, muitas vezes em formato antigo sem empactar a estrutura do novo sistema. Muito utilizado para compatibilizar o novo sistema como Frameworks ou API externos .