试图了解事件的聚合模式 [英] Trying to understand the event aggregator pattern

查看:118
本文介绍了试图了解事件的聚合模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实现一个简单的方法事件聚合模式,以了解它一步一步来。但我没有发现任何一本书或漂亮的视频教程谈论它的实现。结果
我只是发现了一些好文章像这样的 http://weblogs.asp.net/rashid/archive/2009/03/05/use -event-聚集到化妆的应用,更extensible.aspx http://martinfowler.com /eaaDev/EventAggregator.html 的第一篇文章是太大了,让我明白的格局,第二个没有完成:)结果
由我创造了我班的方式:

I am trying to implement the event aggregator pattern in a simple way to learn it step by step. But i didn't find any book or nice video tutorial talking about it's implementation.
I just found some good articles such as this http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx and http://martinfowler.com/eaaDev/EventAggregator.html the first article is too big to let me understand the pattern and the second one is not completed :).
By the way i created my classes:

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()的方法来灭火。< BR>
我想它通用,因为将有作为RateService,QuestionService ....更多的服务后这样,每个人都会有一个 XXXSubmited()方法在MemberService类。

And what i want is to create a generic way so that when ever a new comment created the CommentSubmited() method to Fire.
I want it generic because there will be more services later such as RateService, QuestionService, .... and each one will have a XXXSubmited() method in the MemberService class.

希望你明白我想学习,问我,如果你要我让事情变得更清晰。

Hope you understood what i want to learn, ask me if you want me to make things more clear.

请注意我检查了泛型委托课题并认为它可以帮助我在这个问题上,但不能让它为我想。

Note i checked the Generic Delegates topic and thought it may help me in this issue, but couldn't make it as i wanted.

推荐答案

看看这个职位使用接收一个简单的事件聚合:事件聚合反应与扩展

Check out this post on a simple event aggregator using Rx: Event Aggregator with Reactive Extensions

这篇关于试图了解事件的聚合模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆