![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
Даже в процедурном программировании можно сделать так: Разбор командной строки - простой цикл с выделением лексем/команд. Все лексемы забиты в массив. К каждой привязывается адрес процедуры. Получаем лексему: p := getCommand(lexem); // получаем команду по лексеме p; // вызываем процедуру // А вот регистрация команд. RegisterCommand('/command1', @proc1); RegisterCommand('/command1', @proc1); ... В ООП каждая команда - это класс. Даже для регистрации не понадобится длинной процедуры. Команды разбиваются на группы. Регистрируется отдельная группа как это делается в VCL для регистрации классов. Итого - наш case превратился в классы. Все процедуры очень короткие. Причем классов с учетом наследования наверняка будет не 300, а гораздо меньше. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на граф | kopzone | Помощь студентам | 5 | 27.07.2008 23:14 |
переменная в граф. режиме. | t13sto | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 21.07.2008 14:25 |
Граф в паскале | LLIypLLIyH | Помощь студентам | 10 | 16.06.2008 14:09 |
Граф в Делфи консоль | LLIypLLIyH | Помощь студентам | 6 | 12.06.2008 18:20 |