Позволяет добавлять дополнительные поведения ко всей иерархии классов
Посетитель (Visitor) – шаблон, в котором компоненту (Посетителю) разрешено проходить всю иерархию наследования.
Реализуется путем распространения одного метода visit()
по всей иерархии
- Классическая
- Интрузивная
- Рефлексивная
- Ациклическая
- Двойная диспетчеризация в стили ООП
- Вызовите
visit()
и вы обойдёте всю структуру