Onde ele ajuda

Um serviço pode carregar uma imagem grande somente quando necessária, validar permissões antes de uma chamada ou encaminhar uma operação remota. O cliente conversa com uma abstração, enquanto o proxy aplica a política de acesso.

Exemplo em C#

public interface IDocumento { string Ler(); }
public sealed class DocumentoProtegido(
    Func<IDocumento> criar, IUsuario usuario) : IDocumento
{
    public string Ler()
    {
        if (!usuario.PodeLer) throw new UnauthorizedAccessException();
        return criar().Ler();
    }
}

A interface compartilhada mantém o cliente independente da proteção; a autorização ainda deve ser aplicada no servidor onde a fronteira de segurança exige.

Proxy, Decorator e Adapter

Proxy controla acesso, Decorator acrescenta responsabilidades e Adapter traduz contratos diferentes. Na prática podem se parecer estruturalmente, mas o propósito orienta o desenho. Evite esconder latência, falhas remotas ou políticas relevantes. Mais: Decorator, Adapter e catálogo GoF.