2012-03-27 12 views
5

Ich habe einige Klassen, die Hintergrundaufgaben ausführen, die Ausnahmen auslösen können. Sie alle implementieren die folgende Schnittstelle:Was ist das für ein Muster?

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

Wenn einer der Hintergrundaufgaben eine Ausnahme auslöst, werden alle ExceptionHandlers sind die Ausnahme informiert, so dass es richtig gehandhabt/propagiert werden.

Wie würden Sie die Schnittstelle nennen? ExceptionHandlerObservable (nicht großartig)?

+0

Was mit 'ExceptionHandlerObservable' falsch? –

+4

Warum wählen Menschen, um als Off-Topic zu schließen? Bitte nicht, es ist eine vernünftige Frage –

+0

Ich bin sicher, wenn es geschlossen wird, wird es genug Leute geben, um zu wählen, um es wieder zu öffnen. – Kiril

Antwort

12

Es sieht wie Observer pattern für die Ausnahmebehandlung aus. So würde die Schnittstelle wahrscheinlich ExceptionObservable oder etwas der Art genannt werden.

+5

Dann könnte der ExceptionHandler in ExceptionObserver umbenannt werden, was bedeutet, dass es sich um den zweiten Teil des Observable-Musters handelt. –

0

Nennen Sie es IObservableException.

+2

Der letzte Teil war unnötig. – mellamokb

+0

lol, es war ein wirklich guter Punkt !!! Ich kann nicht glauben, dass die Massen jetzt nicht erleuchtet werden! – Timmerz

+1

Ich bin versucht zu -1 das. Keine davon entspricht den Java-Namenskonventionen (sie sehen eher wie C# aus?), Und die zweite ist eindeutig ein schlechter Rat. Glücklicherweise glaube ich nicht, dass das OP das Risiko eingehen wird. – ruakh

0

Ich würde es genauso wie „HandlesExceptions“ etwas nenne

+0

Die Benennung von Dingen ist subjektiv, aber ich bin mir ziemlich sicher, dass das Aufruf einer Schnittstelle 'HandlesExceptions' nicht sehr gut ist. – Kiril

+1

Um zu @ Liriks Punkt hinzuzufügen, wird die Schnittstelle im Allgemeinen nach dem Verb 'implements' geschrieben, also sollte der Name ein Adjektiv/Substantiv sein, kein Verb. – mellamokb

+1

Tatsächlich behandelt es keine * Ausnahmen, es hebt * Ausnahmen hervor das kann von einer anderen, externen Klasse gehandhabt werden. – Heinzi

3

Wenn Sie eine Ausnahme denken als ein Ereignis dann ist vielleicht geworfen dies die EventBroker design pattern schließen. Vielleicht kannst du diesen einen ExceptionBroker nennen.

+0

Ich mag die Idee, aber es scheint mit Singleton-Mustern in Netzwerk-Messaging verknüpft zu sein, also vielleicht irreführend. – assylias

-1

Genau wie IDisposable und ICloneable kann diese Klasse als IExceptionHandlerObservable genannt werden

Verwandte Themen