2011-02-15 15 views
6

मेरे पास एक कक्षा है जिसमें कुछ लंबी चल रही विधियां हैं, जिसमें वे डीबी प्रश्न करते हैं, वस्तुओं की एक सूची पुनर्प्राप्त करते हैं, उनके माध्यम से पुन: प्रयास करते हैं और कुछ आईओ काम करते हैं।सी # कक्षा डिजाइन - घटनाक्रम और लंबी चलने वाली विधियां

इस कक्षा के डिज़ाइन से कैसे संपर्क किया जाना चाहिए?

क्या मेरे पास कार्य पूरा होने पर OnComplete मेरी कक्षा में ईवेंट होना चाहिए?

मैं उपभोक्ता को रद्द/निरस्त करने की क्षमता देना चाहता हूं, इसलिए विधि पूर्ण होने पर रिपोर्टिंग पर्याप्त नहीं है।

प्रारंभ में मेरे यूआई कोड में BackgroundWorker (और अधिक तर्क) था, हालांकि मैंने तर्क को अलग कर दिया ताकि यह सब एक अलग पुस्तकालय में हो।

मैं कक्षा में पृष्ठभूमि कार्यकर्ता जोड़ने पर विचार कर रहा था, और पृष्ठभूमि कार्यकर्ता द्वारा उठाए गए समान घटनाओं को बनाने में बस जा रहा था। क्या यह सबसे अच्छा तरीका है?

+0

आपको जॉन स्कीट सबसे अच्छे उत्तर के लिए उठने तक इंतजार करना पड़ सकता है। –

+0

जॉन स्कीट कल में सो सकता है;) – Josh

उत्तर

3

आपकी कक्षा में पृष्ठभूमि कार्यकर्ता का उपयोग करने में विरासत में कुछ भी गलत नहीं है। शायद आप वास्तव में क्या देख रहे हैं Event-based Asynchronous Pattern है।

+0

बिल्कुल वही जो मैं खोज रहा था, धन्यवाद! – Henno

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