Проектирование и разработка планировщика задач? День добрый! Чтобы вы понимали о чем я, в пример приведу стандартный планировщик ОС Winodows, в котором можно указать какие действия должны выполнять и в какое время. Действия могут быть примерно такие: запуск программ (с аргументами или без), переход по URL, простое текстовое сообщение, выключение компьютера и т.д.
В плане задач я представлю некий интерфейс, например ITask, имеющий метод Start, от него и наследует все эти TaskProcessStart, TaskMsgBox и т.д. Хорошо, но ведь они все могут содержать разное число параметров разного типа (как текст сообщения у MsgBox). Как лучше все это дело организовать? Как лучше связать объектную модель с GUI? Я имею ввиду паттерны, общепринятые практики и т.д. Архитектры, которые пишу я, обычно "живут" не долго, так как сам уже путаюсь в этом море кода и не всегда могу его модифицировать в процессе.

21 Авг 2019 в 06:23
273 +1
0
Ответы
1

Для проектирования и разработки планировщика задач с различными типами действий и параметров можно воспользоваться следующими подходами:

Использование паттерна Фабрики (Factory Pattern) для создания объектов различных типов задач. Каждый тип задачи может иметь свой конкретный класс-фабрику, который создает объекты этого типа с необходимыми параметрами.

Использование паттерна Строитель (Builder Pattern) для создания сложных объектов с различными параметрами. Например, для задачи TaskMsgBox можно создать строителя, который позволит задать текст сообщения, кнопки и другие параметры.

Использование паттерна Наблюдатель (Observer Pattern) для реализации взаимодействия между объектами модели и GUI. Например, можно создать "наблюдателей" для обновления интерфейса при изменении параметров задач.

Использование паттерна MVC (Model-View-Controller) для разделения логики приложения, представления данных и пользовательского интерфейса. Модель может содержать объекты задач, контроллер обрабатывать действия пользователя, а представление отображать данные и интерфейс.

Использование инъекции зависимостей (Dependency Injection) для управления зависимостями между объектами и упрощения их взаимодействия.

Следуя этим подходам, можно создать гибкую архитектуру планировщика задач, которая позволит легко добавлять новые типы задач и параметры без изменения всего кода. Кроме того, следует использовать хорошую документацию и комментирование кода для удобства его поддержки и модификации в будущем.

20 Апр в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир