LINUX.ORG.RU

[C++] Вопрос по дизайну программы

 


0

1

Бесполезного эстетства псто.
Допустим, есть такая задача (это просто абстрактный пример, реальная задача другая): из точки А в точку Б отправляется колонна автомобилей, для каждого автомобиля через каждые 100 метров пути нужно расчитывать различные параметры: скорость, остаток топлива, марку автомобиля и ещё с десяток. Параметры могут быть одинаковыми для всех машин или быть уникальными только для одной. Как бы это всё красиво описать? Проще всего было бы сделать кучу классов параметров, пронаследовав их от общего предка, для каждого автомобиля завести вектор указателей на эти параметры, и просто пробегать по нему, вызывая виртуальный метод расчёта в зависимости от пройденного пути, но такой вариант отпадает, т.к. параметры имеют разный тип. В голову приходят варианты а-ля паттерн «Посетитель» или что-то совсем жуткое с RTTI. ООП владею плохо, а сделать хочется красиво и расширяемо. Использовать можно только стандартный С++, никаких бустов, Qt и т.д.

★★★★
Ответ на: комментарий от ugoday

А я не вижу здесь множественной диспетчеризации (ну, разве что тип автомобиля <--> тип параметра, но это не оговорено)

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Считай это моей догадкой. Тут многое неоговорено, но если кто-то хочет pattern Visitor, то скорее всего (хотя и не обязательно) он хочет именно эмулировать множественную диспетчеризацию, но не знает об этом.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Кстати да, если так посмотреть, то уже указанное мною отношение в задаче вполне имеет место :)

yoghurt ★★★★★
()
Ответ на: комментарий от ugoday

> ООД хотел темы автор.

не, автор хотел:

сделать красиво и расширяемо

korvin_ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.