在我的情况下,更好的解决方案是什么,如何设计类以使它们不是很耦合?
我有一个库 (API),它提供了一些功能(例如,使用subscribe
方法订阅流式外汇价格)。我有一个 API 客户端,它告诉 API 它想要获得的价格。API 通过一些接口(例如SubscriptionStatus
)和方法提供反馈SubscribeSuccess(Subscription) and SubscribeFailed(Subscription)
。在 API 客户端中,我有一个活动订阅列表 ( List<Subscription> activeSubscriptions
)。而且我希望 API 客户端只对订阅成功做出反应(只需将订阅添加到列表中)。在其他情况下 - 只需打印要记录的消息。组织订阅侦听器和 API 客户端之间关系的最佳方式是什么?选项可能是:
- 将 API 客户端实例传递给订阅侦听器,以便它可以调用
apiClient.addSubscription(subscription)
- API客户端实现
SubscriptionStatus
接口并管理这些事件(失败,内部成功:activeSubscriptions.add(subscription))。对比:有很多类型的动作,每个动作都有自己的监听器。所以 Api Client 将是真正的大类。 - 用一种方法定义自己的接口,
SubscriptionSuccess(subscription)
让API客户端实现? - 你的选择?
任何关于主题的想法表示赞赏!
谢谢!