c# events design-patterns eventaggregator

c# - Tratando de entender el patrón del agregador de eventos



events design-patterns (2)

Estoy tratando de implementar el patrón del agregador de eventos de una manera sencilla para aprender paso a paso. Pero no encontré ningún libro o buen video tutorial sobre su implementación.
Acabo de encontrar algunos buenos artículos como este http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx y http : //martinfowler.com/eaaDev/EventAggregator.html el primer artículo es demasiado grande para permitirme entender el patrón y el segundo no se completa :).
Por cierto, creé mis clases:

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

Y lo que quiero es crear una forma genérica para que cada vez que un nuevo comentario cree el método CommentSubmited() para Fire.
Lo quiero genérico porque habrá más servicios más tarde como RateService, QuestionService, .... y cada uno tendrá un método XXXSubmited() en la clase MemberService.

Espero que hayas entendido lo que quiero aprender, pregúntame si quieres que aclare las cosas.

Nota: revisé el tema de delegados genéricos y pensé que podría ayudarme en este tema, pero no pude hacerlo como quería.



Karl Shifflett (equipo de patrones y prácticas de Microsoft) realizó un video en el que revisa el patrón del Agregador de eventos y explica cómo lo usó en su aplicación Stuff WPF / MVVM. Su entrada en el blog tiene más información sobre su proyecto y el código fuente también está disponible para su descarga. Encontré su aplicación de ejemplo y videos para ser realmente útiles mientras estaba aprendiendo.