Delegate Pattern: Delegate o Delegator?

2

Ho una semplice domanda sulla terminologia utilizzata nel pattern Delegate;

Diciamo che creo un oggetto che sarà responsabile del download di qualcosa dalla Rete e al termine, mi richiamerà con il risultato. Suppongo che possiamo chiamare l'oggetto downloader il "delegato", dato che sta lavorando per conto del mio oggetto principale.

Se ho ragione fino ad allora, ho un problema con i codici di esempio che ho letto. La proprietà nella classe Downloader viene spesso denominata "delegato" e inserita in Self dal creatore di questo downloader.

Mi sbaglio o dovrebbe essere effettivamente chiamato "delegante"?

    
posta Pierre Watelet 29.04.2011 - 14:03
fonte

1 risposta

3

Il delegato è la cosa che sta eseguendo l'attività secondaria. Nel tuo caso, Downloader sta svolgendo l'attività principale, ma poi dice al delegato di eseguire alcune attività. Downloader non sa o non si cura di quale sia quell'attività, solo che deve accadere.

Se devi usare delegator , sarebbe Downloader in quanto è la classe che delega a lavorare su qualcos'altro. Ma penso che abbia dei problemi perché hai più parole simili e porti a confusione come la tua. Invece, tendo a pensare alle cose in termini di eventi e ascoltatori. Quando termina Downloader , viene generato un evento downloadFinished e indica a tutti gli ascoltatori che si è verificato l'evento. L'ascoltatore decide che cosa vuole fare con quella informazione.

    
risposta data 29.04.2011 - 14:31
fonte

Leggi altre domande sui tag