Хорошо, я боролся с этой проблемой, которую я испытываю.Шаблон посетителя и логические операции
Я создал древовидную структуру с логическими узлами, например. И, Или, Равно, Между. Я не хочу, чтобы у этих узлов было что-то большее, чем метод accept для посетителя, потому что будет больше посетителей с различными реализациями.
Так, например, я посещаю и. Он сначала посещает себя, поэтому я знаю, что имею дело с a, и затем он посещает левый и правый узлы. Который может быть любым из ранее упомянутых узлов.
Проблема в том, что мне нужен способ проверки того, что я закончил посещение дочерних узлов. Например, я хочу этот вывод
"и (Equals()/или (Equals()/Between())"
Но так как у меня нет никакого способа узнать, когда был посещен Чайлдс это будет коснуться, как это.
«И() Equals()/Или() Equals()/Между()
Любые предложения о том, как преодолеть это про я проблема?
Проверка завершения работы с дочерними узлами? Что вы имеете в виду? Вы не закончили в конце вызова '' .accept() '' '? Вы делаете это асинхронно? –