在我的情況下,什麼是更好的解決方案,如何設計類,使它們不是很耦合?緊密耦合的類:什麼是我的情況下更好的設計
我有一個庫(API),它提供了一些功能(例如,使用subscribe
方法訂閱流式FX價格)。我有一個API客戶端,告訴API它想要獲得哪個價格。 API通過一些接口(例如SubscriptionStatus
)提供反饋,並使用方法SubscribeSuccess(Subscription) and SubscribeFailed(Subscription)
。在API客戶端中,我有一個活動訂閱列表(List<Subscription> activeSubscriptions
)。我希望API客戶端只對訂閱成功做出反應(只需將訂閱添加到列表中)。在其他情況下 - 只需將消息打印到日誌。 組織訂閱監聽器和API客戶端之間關係的最佳方式是什麼? 選項可能是:
- 通API客戶端實例的訂閱偵聽器,以便它可以調用
apiClient.addSubscription(subscription)
- API客戶端中實現實施
SubscriptionStatus
接口和管理這些事件(失敗,成功的內部:activeSubscriptions.add(訂閱)) 。 Contra:有很多類型的動作,每個動作都有它自己的偵聽器。所以Api Client將會是非常大的類。 - 用一種方法定義自己的接口
SubscriptionSuccess(subscription)
並讓API客戶端實現它? - 您的選擇?
關於主題的任何想法,感激!
謝謝!