Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Проектирование интерфейса
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Проектирование интерфейса (Прочитано 9028 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexCasual
Помогающий
Offline
Проектирование интерфейса
«
:
17-12-2011 21:28 »
Необходимо реализовать клиентскую часть системы клиент-сервер :
- клиенты могут посылать данные и команды серверу при этом каждый клиент может имееть свой набор посылаемых команд и свою структуру посылаемого пакета данных;
Есть идея написать некий базовый класс,который бы предоставлял общий интерфейс для отправки команд и данных,а уже клиенты наследовались от него.
Но я не очень силён в этих вещах...Как лучше такое реализовать?В частности интересует вопрос о том,как должен выглядеть базовый метод отправки команд сурверу?-Например пусть одним их входных параметров метода базового класса будет команда(enum),но как представить(расширить) набор команд в наследуемом классе на основании базового?...
Надеюсь,что кто-нибудь понял,что я пытался написать)
Записан
Dimka
Деятель
Команда клуба
Offline
Пол:
Re: Проектирование интерфейса
«
Ответ #1 :
18-12-2011 08:13 »
Смотри шаблон проектирования Команда (Command). Шаблон предназначен для исполнения отложенных произвольных команд (например, при построении меню или для undo/redo операций). Исполнение тебе не надо, а вот откладывание и вообще упаковку команды в объект, чтобы информация сохранялась, из этого шаблона вполне можно позаимствовать.
«
Последнее редактирование: 18-12-2011 08:16 от Dimka
»
Записан
Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
AlexCasual
Помогающий
Offline
Re: Проектирование интерфейса
«
Ответ #2 :
18-12-2011 19:57 »
Dimka,
наверное,это немного не то...Как сделать так,чтобы,например,метод Send() в базовом классе,мог быть изменён в наследуемом классе и в плане входных параметров и логики работы ,то есть в базовом классе -
Код:
Send(int a){to do 1}
,а в наследуемом
Код:
Send(int s, char* b){to do 2}
?
Записан
Dale
Блюзмен
Команда клуба
Offline
Пол:
Re: Проектирование интерфейса
«
Ответ #3 :
18-12-2011 20:07 »
Цитата: AlexCasual от 18-12-2011 19:57
Как сделать так,чтобы,например,метод Send() в базовом классе,мог быть изменён в наследуемом классе и в плане входных параметров и логики работы
И каким образом такая конструкция будет соответствовать принципу подстановки Лисков?
Записан
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dimka
Деятель
Команда клуба
Offline
Пол:
Re: Проектирование интерфейса
«
Ответ #4 :
18-12-2011 20:51 »
AlexCasual
, можно всё - благо перегрузка функций имеется, и даже наследование тут не нужно. Вопрос, как и для чего ты этим потом сможешь воспользоваться?
Записан
Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
AlexCasual
Помогающий
Offline
Re: Проектирование интерфейса
«
Ответ #5 :
19-12-2011 10:48 »
Dimka
,спасибо,вроде догнал,что к чему...
А есть ли у c++ возможность построить объект класса по его имени?
Записан
Вад
Модератор
Offline
Пол:
Re: Проектирование интерфейса
«
Ответ #6 :
19-12-2011 12:54 »
AlexCasual
, что значит, по его имени? По строке, содержащей имя? Если да, то встроенных средств нет, фабрику надо делать.
Записан
Dimka
Деятель
Команда клуба
Offline
Пол:
Re: Проектирование интерфейса
«
Ответ #7 :
19-12-2011 14:59 »
А вообще в C++ конструктор объекта и так совпадает по названию с именем класса
Так что можно
Записан
Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
(Модератор:
Вад
) > Тема:
Проектирование интерфейса
Загружается...