2

ここでの依存性注入はまったく初めてです。

依存性注入を使用して Twitter クライアントなどを構築している場合、特定の間隔 (たとえば 5 分) でストリームを更新することを制御するロジックはどこに格納する必要がありますか?

4

1 に答える 1

3

依存性注入を使用することを選択した場合、実装の詳細を隠す抽象化を定義することを選択します。最大の課題の 1 つは、抽象化を設計する際に実装の詳細を忘れることです。

HTTP サービスを定期的にポーリングすることはわかっているかもしれませんが、必ずしもその仮定に基づいて抽象化を定義する必要はありません。

たとえば、問題のサービスが更新をクライアントにプッシュできるなど、状況が大きく異なることを想像してみてください。抽象化はまだ成り立つでしょうか?

  • クライアントがPolling Consumerであるという仮定に基づいて抽象化を構築する場合、代わりにEvent-Driven Consumerに実装する必要がある場合、うまく適合しない可能性があります。
  • 興味深いことに、ポーリング ベースのテクノロジを使用すると、イベント駆動型のコンシューマーをシミュレートする方が簡単です。

Polling Consumer 以外のものを使用する予定がない場合でも、上記の方法を実行することをお勧めします。これは、漏れやすい抽象化を設計したかどうかを検討する必要があるためです。

したがって、質問に答えるには、更新ロジックはデータ アクセスの実装に属します

于 2011-09-15T19:45:19.480 に答える