2010-08-09 15 views
14

Olay toplayıcı modelini adım adım öğrenmek için basit bir şekilde uygulamaya çalışıyorum. Ama uygulama hakkında konuşmak için herhangi bir kitap ya da güzel bir video öğretici bulamadım.
http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx ve http://martinfowler.com/eaaDev/EventAggregator.html gibi bazı iyi makaleler buldum, ilk makale deseni anlayamama izin vermek için çok büyük ve ikincisi tamamlanmadı :). benim sınıfları oluşturulan arada
: yeni bir yorum oluştururken hiç CommentSubmited() yöntem Yangın böyleceOlay toplayıcı desenini anlama girişiminde bulunma

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() 
    { 

    } 
} 

Ve ne istediğim genel bir yol oluşturmaktır.
Genel olarak istiyorum çünkü RateService, QuestionService, .... gibi daha fazla hizmet olacak ve her biri MemberService sınıfında XXXSubmited() yöntemine sahip olacak.

Ne öğrenmek istediğimi anladığınızı umarsınız, bana daha iyi şeyler yapmamı isteyip istemediğinizi sorun.

Not Generic Delegates topic'u işaretledim ve bu konuda bana yardımcı olabileceğini düşündüm, ancak istediğim gibi yapamadım.

cevap

6

Kontrol dışarı Rx kullanarak basit bir olay toplayıcı bu yazı: Event Aggregator with Reactive Extensions

+0

makalesi güzel, ama ne kadar öznenin ve öznenin nasıl görüneceğini hayal edemiyorum. –

+0

Burada herhangi biri tökezlemek durumunda, Amr ISubject'i bulmaya başladı ve birisi Reaktif Uzantılar'da olduklarına işaret etti: http://stackoverflow.com/questions/3439419/how-isubject-and-subject-will-look-like- örnek-içinde-örnek-t- – JohnMetta

6

Karl Shifflett (Microsoft desen ve uygulamaları takım) o Olay Toplayıcı desen üzerinden yürür ve onun Stuff kullanmış açıklar bir video yapılan WPF/MVVM uygulaması. Onun blog entry onun projesi hakkında daha fazla şey var ve kaynak kodu da indirmek için kullanılabilir. Onun örnek uygulamasını ve videolarını, öğrendiğim gibi yardımcı olmak için buldum.

+1

ve video ve blog URL'leri artık çalışmıyor –