我是 TDD 新手,我正在尝试将单一职责原则应用于 API。
我正在使用在单个事件中返回多个提要订阅的 API。每个订阅都可以相互区分,因为事件处理程序包含一个id字段。我想要做的是对 API 进行包装,它可以管理订阅更新,以便订阅类只接收与其相关的事件更新,这由 API 触发的事件的id字段确定。
现在,我对 API 进行了封装,在该 API 中实现了 Subscribe() 方法,以便它返回一个包含Subscription.Updated()事件的Subscription类。我将Subscription的记录保存在Dictionary中,这样我就可以根据每个Subscription的id通知它们。
我的问题是如何将订阅更新事件参数从 API 传递到特定订阅并引发Subscription.Updated()事件?我读过我可以制作一个公共的 OnUpdate 方法(我在以前的项目中做过),但他们说这会破坏封装和 SRP。
还是我错误地接近这个?有没有更优雅的方法来做到这一点?
附加信息:
从 API 请求提要:
void Feed.Subscribe(id, SubscriptionParamaters)
其中id将用于标识哪个响应属于哪个订阅。
您可以通过以下方式获取订阅更新
Feed.Update(id,UpdateValueArgs)