2011-09-15 41 views
2

我完全不熟悉依赖注入。依赖注入刷新逻辑位置

如果我正在建立说使用依赖注入一个Twitter客户端,其中,应控制在一个特定的时间间隔刷新我的流的逻辑(比方说5分钟)被容纳?

回答

3

当您选择使用依赖注入时,您选择定义抽象,隐藏实现细节。最大的挑战之一是在设计抽象时忽略实现细节。

虽然你可能知道你的HTTP服务会定期轮询是,你并不一定基于上述假设的定义抽象。

试想一下,事情是非常不同的 - 例如,有关的服务可以推送更新到客户端。抽象依然存在吗?

  • 如果你建立一个围绕假设抽象客户端是一个Polling Consumer,它可能不太适合,如果你需要实现它上Event-Driven Consumer代替。
  • 有趣的是,它更容易模拟与基于轮询技术事件驱动消费者。

即使您从来不希望使用轮询消费者以外的其他任何东西,上述操作仍然是一个很好的练习,因为这会迫使您考虑是否设计了泄漏抽象。

所以,要回答这个问题:更新逻辑属于数据访问实现

+0

这一切都有道理。谢谢! – podnov