Ответ 1
Отметьте это сообщение в простом агрегаторе событий, используя Rx: Агрегатор событий с реактивными расширениями
Я пытаюсь реализовать шаблон агрегатора событий простым способом изучить его шаг за шагом. Но я не нашел ни одной книги или хорошего видео-учебника, рассказывающего об этом.
Я просто нашел хорошие статьи, такие как 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()
для Fire.
Я хочу, чтобы он был общим, потому что позже будет больше служб, таких как RateService, QuestionService,.... и каждый из них будет иметь метод XXXSubmited()
в классе MemberService.
Надеюсь, вы поняли, что я хочу узнать, спросите меня, хотите ли вы, чтобы я сделал вещи более ясными.
Примечание. Я проверил тему Общие вопросы делегатов и подумал, что это может помочь мне в этом вопросе, но не может сделать это так, как я хотел.
Отметьте это сообщение в простом агрегаторе событий, используя Rx: Агрегатор событий с реактивными расширениями
Карл Шиффлетт (команда разработчиков и практики Microsoft) сделал видео, где он просматривает шаблон агрегатора событий и объясняет, как он использовал его в его приложение "Файл" WPF/MVVM. Его запись в блоге содержит больше о его проекте, а исходный код также доступен для загрузки. Я обнаружил, что его пример приложения и видео действительно полезен, когда я учился.