"скачать архив и распаковать его в папочку".
В голове примерно такая картина:
- событие App\ExpectDownloading - событие (?) ожидания загрузки с инфой что требуется
- обработчик Infra\DownloadExpectationHandler - принимает событие ожидания и делегирует команду сервису скачивания
- сервис App\DownloadFactory - собсно скачивает архив
- событие App\ArchiveDownloaded - событие окончания скачивания
- обработчик Infra\ArchiveUnpacker- ловит событие окончания скачивания и делегирует распаковщику
- сервис App\ArchiveUnpacker - собсно распаковывает
- событие App\Downloaded - событие завершения загрузки
Но меня смущеает тут то, что первым идёт по смыслу не событие, а какой-то хук. Мол, "я хочу что б ты скачал". Которое возникает не постфактум какого-то действия, а для того, чтобы запустить весь процесс.
Мб есть идеи как это архитектурно адекватно сделать?
P.S. Структуру и именование папочек чуть упростил, чтоб покороче было
так если "хочу чтобы ты скачал", почему не сделать командой Download? оно же звучит даже так
хм... блин, даже не подумал об этом
Обсуждают сегодня