0

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

我正在使用在单个事件中返回多个提要订阅的 API。每个订阅都可以相互区分,因为事件处理程序包含一个id字段。我想要做的是对 API 进行包装,它可以管理订阅更新,以便订阅类只接收与其相关的事件更新,这由 API 触发的事件的id字段确定。

现在,我对 API 进行了封装,在该 API 中实现了 Subscribe() 方法,以便它返回一个包含Subscription.Updated()事件的Subscription类。我将Subscription的记录保存在Dictionary中,这样我就可以根据每个Subscriptionid通知它们。

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

还是我错误地接近这个?有没有更优雅的方法来做到这一点?

附加信息:

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

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

4

0 回答 0