2009-05-27 14 views
8

मैं मज़ेदार के लिए एक सामान्य निर्माता/उपभोक्ता जोड़ी + प्रसंस्करण कतार को लागू करने के विचार से टकरा रहा हूं। विचार यह है कि आप केवल ऐसी ऑब्जेक्ट्स बना सकते हैं जो उपयुक्त आईपॉड्यूसर और आईकोन्यूमर इंटरफेस (आपूर्ति किए गए डिफ़ॉल्ट कार्यान्वयन) को लागू कर सकें, जिसमें मुख्य रूप से प्रतिनिधियों को शामिल किया जाएगा, उन्हें QueueProcessor क्लास इंस्टेंस में पास कर दें, बताएं कि आप कितने उपभोक्ता चाहते हैं और जाएं।जेनेरिक .Net निर्माता/उपभोक्ता

लेकिन मैं खुद से कहता हूं, "स्वयं, निश्चित रूप से यह पहले किया गया है।"

तो किसी की जान लेता है कि एक अच्छा, सी # में निर्माता/उपभोक्ता पैटर्न के सामान्य कार्यान्वयन (VB.Net, ठीक भी है)? बुनियादी आवश्यकताओं के लिए मैं देख रहा हूँ: उत्पादन किया है और भस्म प्रकार के लिए

  • उपयोग जेनरिक
  • आप कैसे कई उपभोक्ताओं काम करेंगे निर्दिष्ट की अनुमति दें (इनपुट, कार्य, और आउटपुट प्रकार, या उसके किसी संयोजन कतारबद्ध) कतार
  • आप को जोड़ने के लिए या श्रृंखला एक पाइप लाइन में कई कतारों (कई उपभोक्ताओं के साथ मुश्किल, मुझे पता है)
  • आप अपने खुद के उत्पादकों और उपभोक्ताओं
  • आप एक निर्माता में किसी भी IEnumerable चालू करने दें (लागू करने के लिए अनुमति दें अनुमति दें ठीक है अगर मुझे इसे स्वयं लागू करना है, जब तक यह है संभव)
  • प्रतिनिधि आधारित (आप एक ही आइटम पर कार्रवाई करने के)

बुनियादी उपभोक्ता या निर्माता के काम के लिए लैम्ब्डा सिंटैक्स का उपयोग कर सकते हैं या यदि कोई भी है, क्या नुकसान को रोका है यह और आप पर आपके कोई विचार करना इसे कैसे कार्यान्वित करें?

+0

क्या आपने http://msdn.microsoft.com/en-us/library/dd267312.aspx पर देखा है? – porges

+0

हां, और आईपॉडसरकंसमेरकॉलेक्शन , लेकिन तब तक इनमें से कोई भी अस्तित्व में नहीं था जब मैंने पहली बार सवाल पूछा था। 4.0 में समर्थन के बारे में एक पोस्ट लिखें और आपको मुझसे एक आसान अपवर्त मिलेगा। –

+0

अरग! मुझे नहीं पता कि यह कैसे हो रहा है ... मैं हमेशा 2 साल की पोस्ट पर समाप्त होता हूं: पी – porges

उत्तर

5

Microsoft CCR आपको जो चाहिए वह बहुत अधिक है।

Here कुछ कोड नमूने और उपयोग नोट हैं।

+0

मैं _knew_ इसे पहले से कहीं बाहर होना था। –

+0

यह एक सही ढांचा नहीं है, हालांकि कुछ स्पष्ट सामानों की कमी है जैसे शेष कार्यों के लिए प्रसंस्करण और WAIT को रोकने की क्षमता। हम आपकी देव टीम में ढांचे को बढ़ा रहे हैं, अगर आपको और मदद की ज़रूरत है तो मुझे बताएं ... – ripper234

0

क्या आपने MiscUtil पर देखा है?

+0

मुझे वहां कुछ भी नहीं दिख रहा है जो मैं करता हूं। –

+0

यह नहीं कहना कि मैंने वहां कुछ चीजें नहीं देखी हैं जो इसे लागू करने में बहुत उपयोगी होंगी। –

+0

तो आप समय में उस समय अपने प्रत्यारोपण में कोई भी वृद्धि कर देंगे ...: पी –

2

मार्क ग्रेवेल ने this answer में कतार को अवरुद्ध करने के लिए एक अच्छा उदाहरण लिखा था।

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