Форум программистов, компьютерный форум CyberForum.ru

Диспетчер задач - C++

Восстановить пароль Регистрация
 
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 164
11.05.2014, 16:38     Диспетчер задач #1
Task.h
C++
1
2
3
4
5
6
7
class Task
{
private:
    //указатель на массив указателей на функции запускающих процесс решения задачи
    static size_t (* const Execute[])(Task* task);
    //другие поля инкапсулирующие задачу
};
Task.cpp
C++
1
2
3
4
5
6
rsize_t fakemetod(Task* task)
{
    return 0;
}
 
size_t (* const Task::Execute[])(Task* task)= {fakemetod};
Таких методов может быть несколько тысяч. Правильное ли это решение? Другой вариант. Можно switch сделать, который в зависимости от выбранной пользователем задачи (например через веб интерфейс с другой машины), которую запустить, запустил нужный код (Извиняюсь за тавтологию). Какое из архитектурных решений лучше или оба не годятся и есть ваше предложение?

Добавлено через 1 час 27 минут
Я подумал, используя указатели возможно организовать отложенную загрузку, если функции из разных библиотек и какие-то почти не используются (не без изменений в коде), а без неё наверно оба описанных способа равнозначны.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2014, 16:38     Диспетчер задач
Посмотрите здесь:

Решение задач С++ C++
C++ 5 задач
C++ решение задач С++
Решение задач С++ C++
Диспетчер задач и c++ C++
C++ Диспетчер задач
Подготовка к решению сложных задач и задач олимп.уровня C++
Решение задач C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.05.2014, 16:49     Диспетчер задач #2
как вариант: http://en.wikipedia.org/wiki/Strategy_pattern
Yandex
Объявления
11.05.2014, 16:49     Диспетчер задач
Ответ Создать тему
Опции темы

Текущее время: 00:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru