2012-03-27 6 views
5

Ho alcune classi che eseguono attività in background che potrebbero generare eccezioni. Tutti implementano la seguente interfaccia:Cos'è questo motivo?

public interface HowDoYouCallMe { 
    void addExceptionHandler(ExceptionHandler handler); 
} 

Quando una delle attività in background solleva un'eccezione, tutti i ExceptionHandlers sono informati della deroga in modo che possa essere gestita adeguatamente/propagato.

Come chiameresti l'interfaccia? ExceptionHandlerObservable (not great)?

+0

Cosa c'è di sbagliato con 'ExceptionHandlerObservable'? –

+4

Perché le persone votano per chiudere come fuori tema? Per favore no, è una domanda ragionevole –

+0

Sono sicuro che se si chiuderà ci saranno abbastanza persone da votare per riaprirlo. – Kiril

risposta

12

Sembra che lo Observer pattern sia applicato alla gestione delle eccezioni. Quindi l'interfaccia verrebbe probabilmente chiamata ExceptionObservable o qualcosa del genere.

+5

Quindi EccezioneHandler può essere rinominato in ExceptionObserver, in modo che implichi che è la seconda parte del modello Osservabile. –

0

Chiamarlo IObservableException.

+2

L'ultima parte non era necessaria. – mellamokb

+0

lol, è stato davvero un buon punto !!! non posso credere che le masse ora non saranno illuminate! – Timmerz

+1

Sono tentato di -1 questo. Nessuno di questi è conforme alle convenzioni di denominazione Java (assomigliano più al C#?), E il secondo è chiaramente un cattivo consiglio. Fortunatamente, non penso ci sia alcun rischio che l'OP lo prenderà. – ruakh

0

avevo appena chiamo qualcosa come "HandlesExceptions"

+0

Il nome delle cose è soggettivo, ma sono abbastanza sicuro che chiamare un'interfaccia 'HandlesExceptions' non sia molto buono. – Kiril

+1

Per aggiungere al punto @ Lirik, l'interfaccia viene generalmente scritta dopo il verbo 'implementa', quindi il nome dovrebbe essere un aggettivo/sostantivo, non un verbo – mellamokb

+1

In realtà, non * gestisce * eccezioni, ma * solleva * eccezioni che può essere gestito da un'altra classe esterna. – Heinzi

3

se si pensa di un'eccezione essere gettato come un evento allora forse questo è vicino al EventBroker design pattern. Forse puoi chiamare questo ExceptionBroker.

+0

Mi piace l'idea, ma sembra essere collegata ai pattern singleton nella messaggistica di rete, quindi forse è fuorviante. – assylias

-1

Proprio come IDisposable e ICloneable, questa classe può essere chiamato come IExceptionHandlerObservable