过滤事件并通知指定的订阅者

时间:2013-07-03 19:01:27

标签: c# single-responsibility-principle

我是TDD的新手,我正在尝试将单一责任原则应用于API。

我正在使用一个API,它在一个事件中返回多个订阅源订阅。每个订阅都可以与其他订阅区分开来,因为事件处理程序包含 id 字段。我想要做的是制作API的包装器,它可以管理订阅更新,以便订阅类仅接收由 id 字段确定的与其相关的事件更新API触发的事件。

现在我有了API的包装器,我在其中实现了Subscribe()方法,使得它返回订阅类,其中包含 Subscription.Updated()事件。我在词典中保留了订阅的记录,因此我可以根据 ID 通知每个订阅

我的问题是如何将Subscription Updated事件参数从API传递到特定订阅并引发 Subscription.Updated()事件?我已经读过我可以制作一个公开的OnUpdate方法(我在之前的项目中已经完成),但他们说这打破了封装和SRP。

或者我接近这个错误?有更优雅的方式吗?

其他信息:

从API请求提要:
    void Feed.Subscribe(id, SubscriptionParamaters)
其中 id 将用于标识哪个响应属于哪个订阅。

您可以通过以下方式获得订阅更新     Feed.Update(id,UpdateValueArgs)

0 个答案:

没有答案