Per capire, il modello di adattatore sta creando un oggetto wrapper per il nostro vero oggetto di interesse, semplicemente un altro livello di riferimento indiretto, che fornisce flessibilità. la flessibilità è che, se l'interfaccia dell'oggetto reale viene modificata, cambiamo l'interfaccia del wrapper che punta all'oggetto reale, lasciando invariata l'interfaccia esposta lato client.
Il pattern proxy è lo stesso, con la differenza che ogni wrapper proxy fornisce solo un sottoinsieme coerente della funzionalità dell'oggetto reale. Perché questo sarebbe utile, quando ci sforziamo di rendere "una classe per uno scopo" è oltre me.
L'ho ottenuto correttamente?