2010-08-09 16 views
14

को समझने की कोशिश कर रहा हूं, मैं चरण-दर-चरण सीखने के लिए एक सरल तरीके से ईवेंट एग्रीगेटर पैटर्न को कार्यान्वित करने की कोशिश कर रहा हूं। लेकिन मुझे इसके कार्यान्वयन के बारे में बात करने वाली कोई पुस्तक या अच्छा वीडियो ट्यूटोरियल नहीं मिला।
मुझे अभी कुछ अच्छे लेख मिल गए हैं जैसे कि http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx और http://martinfowler.com/eaaDev/EventAggregator.html पहला आलेख मुझे पैटर्न को समझने के लिए बहुत बड़ा है और दूसरा पूरा नहीं हुआ है :)।
तरह से मैं अपने वर्गों बनाया द्वारा:ईवेंट एग्रीगेटर पैटर्न

public class Member 
{ 
    public int ID { get; set; } 

    public string UserName { get; set; } 
} 

public class MemberService 
{ 
    public void CommentSubmited() 
    { 
     // increase member score and do some other logic. 
    } 
} 

public class Comment 
{ 
    public int ID { get; set; } 

    public string CommentBody { get; set; } 

    public Member ByMember { get; set; } 
} 

public class CommentService 
{ 
    public void SubmitNewComment(Member member, string commentBody, EventAggregator eventAggregator) 
    { 
     Comment comment = new Comment(); 
     comment.ByMember = member; 
     comment.CommentBody = commentBody; 

     db.SaveComment(comment); // save comment to the db 

     //eventAggregator.GetEvent<CommentSubmited>.Fire(); 
    } 
} 

public class EventAggregator 
{ 
    public void RegisterEvent() 
    { 

    } 

    public void RemoveEvent() 
    { 

    } 
} 

और क्या मैं चाहता हूँ एक सामान्य तरीके बनाने के लिए इतना है कि जब कभी एक नई टिप्पणी बनाया सक्रिय करने के लिए CommentSubmited() तरीका है।
मैं इसे सामान्य बनाना चाहता हूं क्योंकि बाद में अधिक सेवा होगी जैसे कि रेट सेवा, प्रश्न सेवा, .... और प्रत्येक के पास सदस्य सेवा वर्ग में XXXSubmited() विधि होगी।

आशा है कि आप समझ जाएंगे कि मैं क्या सीखना चाहता हूं, मुझसे पूछें कि क्या आप मुझे चीजों को और स्पष्ट करना चाहते हैं।

नोट मैंने Generic Delegates topic की जांच की और सोचा कि इससे मुझे इस मुद्दे में मदद मिल सकती है, लेकिन मैं इसे वांछित नहीं कर सका।

उत्तर

6

का उपयोग कर आरएक्स एक साधारण घटना एग्रीगेटर पर इस पोस्ट को चेक आउट: Event Aggregator with Reactive Extensions

+0

लेख अच्छा है, लेकिन मैं कल्पना नहीं कर सकता कि कैसे ISubject और विषय दिखेंगे, उन्होंने उन्हें अपने उदाहरण में नहीं लिखा था। –

+0

यदि कोई यहां पर ठोकर खाता है, तो अमृत ने इब्यूजेक्ट ढूंढने पर पोस्ट किया और किसी ने इंगित किया कि वे प्रतिक्रियाशील एक्सटेंशन में हैं: http://stackoverflow.com/questions/3439419/how-isubject-and-subject-will-look-like- इन-नमूना-और-नमूना-उपयोग-टी – JohnMetta

6

कार्ल Shifflett (माइक्रोसॉफ्ट पैटर्न और प्रथाओं टीम) एक video जहां उन्होंने घटना एग्रीगेटर पैटर्न के माध्यम से चलता है और बताते हैं कि कैसे वह उसे अपने सामान में इस्तेमाल किए गए डब्ल्यूपीएफ/एमवीवीएम एप्लीकेशन। उनके blog entry में उनके प्रोजेक्ट के बारे में अधिक जानकारी है और स्रोत कोड भी डाउनलोड के लिए उपलब्ध है। मैंने अपना उदाहरण एप्लिकेशन और वीडियो वास्तव में सहायक होने के लिए पाया क्योंकि मैं सीख रहा था।

+1

वीडियो और ब्लॉग यूआरएल अब और काम नहीं कर रहे हैं –

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