2011-09-15 86 views
2

我完全不熟悉依賴注入。依賴注入刷新邏輯位置

如果我正在建立說使用依賴注入一個Twitter客戶端,其中,應控制在一個特定的時間間隔刷新我的流的邏輯(比方說5分鐘)被容納?

回答

3

當您選擇使用依賴注入時,您選擇定義抽象,隱藏實現細節。最大的挑戰之一是在設計抽象時忽略實現細節。

雖然你可能知道你的HTTP服務會定期輪詢是,你並不一定基於上述假設的定義抽象。

試想一下,事情是非常不同的 - 例如,有關的服務可以推送更新到客戶端。抽象依然存在嗎?

  • 如果你建立一個圍繞假設抽象客戶端是一個Polling Consumer,它可能不太適合,如果你需要實現它上Event-Driven Consumer代替。
  • 有趣的是,它更容易模擬與基於輪詢技術事件驅動消費者。

即使您從來不希望使用輪詢消費者以外的其他任何東西,上述操作仍然是一個很好的練習,因爲這會迫使您考慮是否設計了泄漏抽象。

所以,要回答這個問題:更新邏輯屬於數據訪問實現

+0

這一切都有道理。謝謝! – podnov