Closed Rhymmor closed 7 years ago
Есть вопрос по моей реализации. В задаче #81 я описал вопрос. В итоге я сделал несколько сервиcов, но из-за этого получились довольно перегруженными своими параметрами классы ActionCrawler
и CrawlerRunner
. Может есть решение лучше, чем это?
Проблема большого количества параметров решается вынесением этих параметров в отдельный класс, скажем CrawlingContext
, который передается в ActionCrawler
и CrawlerRunner
.
Небольшое уточнение, CrawlingContext
должен содержать только необходимые сервисы и т.д. Данные необходимые для краулинга (искомую строку, список адресов и прочее) следует передавать в отдельном объекте.
Ну да, я уже объединял параметры краулера в класс CrawlerSettings
, просто подумал, что проблема может быть в проектировании.
Краулер теперь добавляет в бд нашедший мем или обновляет, если он уже есть #82. Добавлен базовый сервис с операцией сохранения и удаления, чтобы не работать напрямую с дао #81. Все сервисы перемещены в в отдельный пакет api/memo/services.