|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.06.2019, 10:48 | #1 |
Пользователь
Регистрация: 08.05.2009
Сообщений: 78
|
Выбор структуры классов (паттерна)
Добрый день.
Горе от ума или скорее его отсутствия. Хорошо, когда тебе известен только один путь(один вариант решения) - прешь по нему без всяких сомнений. Хуже когда такой путь тебе неизвестен - тут приходится напрягаться, но уж когда его нашел, имеешь море положительных эмоций. Но еще хуже, когда ты знаешь много путей решения задачи - вот тут и начинаются мучения. Вот я в очередной раз оказался в этой ситуации и не могу выбрать "правильную" структуру классов. Для выбора требуются критерии, а их то я подобрать и не могу. Задача: Есть дерево, вершины - некие операторы, листья - события. Есть специальные вершины "трансферы", которые содержат ссылки на поддеревья. Необходимо пробежать по этим поддеревьям, собирая некую интегральную информация. *езультатом является информация, собранная до уровня ROOTа. Потребность в такой беготне по деревьям по разным поводам возникает достаточно часто, поэтому хотелось бы иметь некий стандартный механизм для такой беготни, что-то типа базовых классов, от которых на наследуют конкретные алгоритмы, или что-нибудь другое. Замечание-уточнение: Предварительно полное дерево подвергается обработке, после которой можно получить массив с указателями на поддеревья, которые располагаются по уровням снизу-вверх. Т.е. когда дерево поступает на обработку, гарантировано что все его поддеревья уже обработаны. Таким образом основной алгоритм состоит из 2 частей: - получение сортированного списка поддеревьев и цикл по данному списку - реккурсивный перебор вершин очередного дерева, начиная с корня. Вопросы: Как реализовать это алгоритм на уровне классов? Как передавать накопленную информацию с уровня на уровень? Меня больше интересуют не конкретные алгоритмы, а рассуждения, приводящие к появлению структуры классов. Буду очень благодарен любому пожелающему поделиться подобными рассуждениями. Последний раз редактировалось Serge_Bliznykov; 18.06.2019 в 10:59. |
18.06.2019, 10:50 | #2 |
Пользователь
Регистрация: 08.05.2009
Сообщений: 78
|
Что произошло?
Куда делся весь набранный текст? Можно ли его восстановить? |
18.06.2019, 10:53 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
разработчики vBulletin украли )
https://www.programmersforum.ru/showthread.php?t=326954 https://2cyr.com/decode/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.06.2019, 11:00 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
18.06.2019, 11:29 | #5 |
Пользователь
Регистрация: 08.05.2009
Сообщений: 78
|
Serge_Bliznykov: Огромное спасибо.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Формализованная модель паттерна | Rye_eyes | Общие вопросы по программированию, компьютерный форум | 0 | 03.02.2015 15:13 |
Выбор структуры данных | RussDragon | Общие вопросы C/C++ | 6 | 19.01.2014 16:13 |
Выбор структуры данных в Run-time | moon-guest | Общие вопросы Delphi | 0 | 15.07.2013 11:56 |
Использование паттерна observer | ilshat09 | C# (си шарп) | 1 | 21.04.2012 20:13 |
Реализация паттерна Singleton в случае наследование | newkobra | Общие вопросы C/C++ | 6 | 05.11.2011 22:30 |