2012-03-27 23 views
5

मेरे पास कुछ कक्षाएं हैं जो पृष्ठभूमि कार्यों को निष्पादित करती हैं जो अपवाद उठा सकती हैं।यह पैटर्न क्या है?

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

जब पृष्ठभूमि कार्यों में से एक के लिए एक अपवाद को जन्म देती है, सभी ExceptionHandlers अपवाद इतना है कि यह ठीक से संभाला जा सकता है/प्रचारित के बारे में सूचित कर रहे हैं: वे सभी निम्नलिखित इंटरफ़ेस को लागू।

आप इंटरफ़ेस को कैसे कॉल करेंगे? ExceptionHandlerObservable (महान नहीं)?

+0

रूप में नामित किया जा सकता है? –

+4

लोग ऑफ-विषय के रूप में बंद होने के लिए मतदान क्यों कर रहे हैं? कृपया नहीं, यह एक उचित सवाल है –

+0

मुझे यकीन है कि अगर यह बंद हो जाता है तो पर्याप्त लोगों को इसे फिर से खोलने के लिए वोट दिया जाएगा। – Kiril

उत्तर

12

ऐसा लगता है कि Observer pattern अपवाद हैंडलिंग पर लागू होता है। तो इंटरफेस शायद ExceptionObservable या इस तरह का कुछ नाम दिया जाएगा।

+5

फिर अपवाद हैंडलर का नाम बदलकर अपवाद ऑब्सर्वर कर दिया जा सकता है, ताकि इसका अर्थ यह हो सके कि यह अवलोकन पैटर्न का दूसरा हिस्सा है। –

0

इसे IObservableException पर कॉल करें।

+2

अंतिम भाग अनावश्यक था। – mellamokb

+0

लॉल, यह वास्तव में एक अच्छा मुद्दा था !!! विश्वास नहीं कर सकता कि जनता अब प्रबुद्ध नहीं होगा! – Timmerz

+1

मैं -1 के लिए लुभाना चाहता हूं। उनमें से कोई भी जावा नामकरण सम्मेलनों के अनुरूप नहीं है (वे सी # की तरह दिखते हैं?), और दूसरा स्पष्ट रूप से खराब सलाह है। सौभाग्य से, मुझे नहीं लगता कि ओपी इसे ले जाएगा कोई जोखिम है। – ruakh

0

मैं सिर्फ यह "HandlesExceptions"

+0

नामकरण चीजें व्यक्तिपरक हैं, लेकिन मुझे पूरा यकीन है कि इंटरफ़ेस 'हैंडल एक्सेप्शन' को कॉल करना बहुत अच्छा नहीं है। – Kiril

+1

@ लिरिक के बिंदु में जोड़ने के लिए, इंटरफ़ेस आमतौर पर क्रिया 'लागू करने' के बाद लिखा जाता है, इसलिए नाम एक विशेषण/संज्ञा होना चाहिए, क्रिया – mellamokb

+1

वास्तव में नहीं, यह * अपवादों को संभाल नहीं करता है, यह * अपवाद * उठाता है जिसे किसी अन्य, बाहरी वर्ग द्वारा नियंत्रित किया जा सकता है। – Heinzi

3

आप एक अपवाद के बारे में सोच की एक घटना के रूप में फेंक दिया जा रहा है की तरह कुछ फोन होता तो शायद इस EventBroker design pattern के करीब है। शायद आप इसे एक अपवाद ब्रोकर कह सकते हैं।

+0

मुझे यह विचार पसंद है लेकिन ऐसा लगता है कि यह नेटवर्क मैसेजिंग में सिंगलटन पैटर्न से जुड़ा हुआ है, इसलिए शायद भ्रामक हो सकता है। – assylias

-1

बस IDisposable और ICloneable की तरह, इस वर्ग के क्या `ExceptionHandlerObservable` साथ कुछ गड़बड़ है IExceptionHandlerObservable

संबंधित मुद्दे