Внедрение зависимостей Обновить расположение логики - PullRequest
2 голосов
/ 15 сентября 2011

Я совершенно новичок в внедрении зависимостей здесь.

Если бы я строил, скажем, клиент Twitter, использующий внедрение зависимостей, где должна быть логика, управляющая обновлением моего потока через определенный интервал (скажем, 5 минут)размещены

1 Ответ

3 голосов
/ 15 сентября 2011

Когда вы решите использовать Dependency Injection, вы решите определить абстракции, которые скрывают детали реализации .Одна из самых больших проблем - забыть о деталях реализации при проектировании абстракций.

Хотя вы можете знать, что будете регулярно опрашивать службу HTTP, вам не обязательно определять свои абстракции на основе этого предположения..

Представьте, что все очень сильно отличается - например, рассматриваемая служба может выдавать обновления клиенту.Будет ли абстракция по-прежнему сохраняться?

  • Если вы построите абстракцию на предположении, что клиент является Polling Consumer , он может не подходить, если вам потребуется его реализовать.вместо Event-Driven Consumer .
  • Интересно, что симулировать Event-Driven Consumer с технологией, основанной на опросах, проще.

Даже если выНикогда не ожидайте использовать что-либо кроме Потребителя опроса, вышеупомянутое все еще является хорошим упражнением, потому что оно заставляет вас задуматься о том, разработали вы утечку или нет.

Итак, чтобы ответить на вопрос: логика обновления относится к реализации доступа к данным .

...