С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Знаю ли я основы ООП? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод данных с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread621586.html
Помогите, пожалуйста... Если я напишу так:cin >> a; То у меня введутся символы с клавиатуры, а потом каретка автоматически переходит на следующую строку, а мне надо, чтобы каретка осталась на этой...
C++ Цикл: Найти самую длинную неубывающую цепочку чисел В цикле с клавиатуры вводится 15 целых чисел. Необходимо найти самую длинную неубывающую цепочку чисел. На экран вывести найденную максимальную длину цепочки и порядковый номер того числа, с... http://www.cyberforum.ru/cpp-beginners/thread621585.html
C++ Упорядочить массив в с++
Создать целоисчисленный массив. упорядочить элементы массива в порядке возрастания частоты встречаемости. Если в массиве есть несколько элементов, то группы упорядочить по убыванию абсолютных...
C++ Узнать размер файла
Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив структур из этих строк. Почитал в интернете, нужно использовать...
C++ C++ Интерфейс пользователя http://www.cyberforum.ru/cpp-beginners/thread621579.html
Есть у меня форма, сделал я ее на с++ atl через ресурс. Теперь надо по нажатии кнопки которая находиться на этой же форме записать всю инфу в файл. НО! Я не знаю как присвойть переменной например...
C++ Массив: сортировка элементов массива по убыванию Привет всем с Казахстана) Хотелось бы от вас пару уроков взять про массивов. Сначала, пожалуй, начну с этого: Массив, состоящий из 15и символов. Сортировать эти массивы по убыванию. Сделайте, как... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.07.2012, 12:20
Kastaneda, на самом деле, сейчас я бы все таки убрал бы реестр комманд внутрь друго класса, аля CommandExecutor, чтобы main, ни про реестр, ни про команды не знала. Да и вообще бы, не стал бы выделять реестр как класс, сложил бы просто в виде std::map в CommandExecutor. И стоит подумать на тем, чтобы вообще от комманд избавится, ибо их немного совсем.
Цитата Сообщение от novi4ok Посмотреть сообщение
плохой дизайн. даже очень плохой.
По каким критериям оценивали? И какой дизайн по-вашему хорош?

Добавлено через 19 минут
Kastaneda, можно вообще избавится от интерфейса комманды, чтобы я и сделал бы, получилось бы что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct CommandRegistry {
  static void CalculateWordsCount(const Arguments& args);
  static void CalculateChecksum  (const Arguments& args);
  static void PrintHelp          (const Arguments& args);
};
 
int main(char* argv[], int argc) {
  CommandExecutor cmdExecutor;
  cmdExecutor.register("word"    , std::bind(CommandRegistry::CalculateWordsCount, _1));
  cmdExecutor.register("checksum", std::bind(CommandRegistry::CalculateChecksum  , _1));
  cmdExecutor.register("help"    , std::bind(CommandRegistry::PrintHelp          , _1));
 
  Arguments args(argv, argc);
  cmdExecutor.execute(args.has('m')? args.get('m') : 'help', args);
}
Просто ICommand это скорее Java style. В boost/С+11 есть function, которыми и стоит пользоватся.
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.