Я считаю, что (как правило) лучшая архитектура - это просто простейшая архетекура, которая удовлетворяет всем требованиям.
Доступны два варианта:
- Простое консольное приложение, которое запускается для запланированной задачи
- Простая служба, которая запускается
Некоторые люди могут утверждать, что написание службы более гибкое и, следовательно, лучший архитектор, однако это такжеболее сложный дизайн - например:
- Что произойдет, если кто-то захочет запустить загрузку вручную?
- Теперь вам также нужно возиться с таймерами, потоками и т. д ...
- Что произойдет, если произойдет сбой?
- и т. Д. *
Возможно, что определенные требования (например, устойчивость или что-то еще) означают, что простая консольприложение не удовлетворяет всем требованиям, и в этом случае вы вынуждены пойти на более сложное решение, однако, если вы можете сойти с рук, я бы пошел на утешениеЭлектронное приложение.