2016-06-30 16 views

risposta

6

Un consumatore è un tipo registrato con un gestore specializzato che gestisce il ciclo di vita del proprio oggetto Consumer.

Un gestore è in effetti solo un gestore di eventi generico.

Si utilizzerà un gestore se si necessita solo di un piccolo blocco Action<> per risolvere qualsiasi azione sul messaggio. Utilizzerai un consumatore se desideri registrare un tipo, che ha un ciclo di vita, per risolvere qualsiasi azione sul tuo messaggio. Generalmente, finirai per volere un consumatore perché vuoi che il tuo contenitore risolva le dipendenze per il tipo invece di averle solo nell'ambito del tuo gestore. Ma i gestori funzionano alla grande per piccole cose o scenari di richiesta-risposta.

+0

Data la tua descrizione, quindi, credo che ci sarà un'istanza Consumer per messaggio? Se imposto un gestore degli errori sulla stessa classe, l'ultima istanza dovrebbe essere utilizzata quando si gestisce l'errore, o sarebbe un'istanza completamente nuova? –

+1

dipende dalla registrazione. Se ti registri con un helper del contenitore IoC, il contenitore mantiene il ciclo di vita. Considerare anche che lo stato sarà problematico per essere condiviso tra i messaggi poiché generalmente ci sono più istanze se si tratta di un singleton - almeno uno per thread. – Travis