No. Il delegation pattern è una tecnica che permette ad un oggetto di una classe di offrire una certa funzionalità nella sua interfaccia, ma d'implementarla attraverso un altro oggetto di un'altra ( o stessa ) classe.
Immagina di avere una classe Comparatore, che offre un metodo per il confronto di due "elementi". Gli elementi possono essere qualsiasi cosa, da tipi integrali ( i tipi standard di un linguaggio ) fino a classi, liste, array, ecc...
Il nostro Comparatore vuole offrire una funzionalità di comparazione usabile su qualsiasi tipo di dato, senza dover però usare l'overloading. Inoltre vogliamo fornire la possibilità di comparare anche tipi di dati che esisteranno in futuro ( ovviamente tipi di dati creati dall'utente ). In questo caso, la funzione di effettua il confronto può accettare ( tramite un suo parametro ) un puntatore/riferimento ad un oggetto delegato, il quale implementerà una specifica funzione di confronto per tipi specifici. Ovviamente il delegato dev'essere creato dal programmatore che vuole usare la classe Comparatore.