Quais são as diferenças entre as classes proxy, wrapper ou de fachada?

Quais são as diferenças entre as classes proxy, wrapper ou de fachada?

Todos eles parecem ser o mesmo para mim, eles tomam uma implementação, encapsulam e então os métodos são chamados na classe wrapper / proxy / facade que chamam os métodos do objeto encapsulado.

Por favor, mostre por que eles são diferentes com exemplos.

obrigado

questionAnswers(3)

yourAnswerToTheQuestion