Differenza tra gestore, responsabile e controllore

16

C'è qualche differenza tra nominare una classe "Handler", "Manager" o "Controller"? IE: PurchaseManager , PurchaseHandler , PurchaseController .

Questi suffissi trasmettono lo stesso significato o c'è una chiara differenza tra loro?

Se non esiste una risposta indipendente dal linguaggio, considera Java come lingua.

    
posta hpique 07.06.2011 - 19:03
fonte

2 risposte

13

Di solito un 'Controller' è l'interfaccia tra un componente dell'interfaccia utente e un modello (ad esempio Acquisto). I controller dovrebbero essere classi sottili, facendo poco più che mappare gli eventi dell'interfaccia utente alle funzioni del modello.

Un "Manager" è un odore di codice. L'acquisto dovrebbe essere gestito da solo, oppure potrebbe essere gestito da una classe proprietaria, come fornitore o acquirente.

Un 'Handler' è solitamente una singola funzione racchiusa in un oggetto. Questi sono necessari quando si programma in lingue legacy senza funzioni di prima classe.

    
risposta data 07.06.2011 - 19:12
fonte
6

Sebbene la mia risposta non sia basata sulla definizione, vedo qualcosa etichettato come "Controller" come un'implementazione esclusiva rispetto a un "Gestore" come inclusivo . Mi aspetto di vedere solo un'esistenza di un "PurchaseController" e più versioni possibili di "PurchaseHandler".

Penso che un altro nome comune per Controller sia "Broker" - che altera leggermente la prospettiva su di esso.

    
risposta data 07.06.2011 - 19:23
fonte

Leggi altre domande sui tag