Власне, ось чому шаблон відвідувача так називається: він забезпечує механізм відвідування, який потім можна використовувати в майбутньому для різних цілей.
Візерунок дає змогу зробити основні класи вашої програми більш зосередженими на їхніх основних завданнях, виділяючи всю іншу поведінку в набір класів відвідувачів. Використовуйте шаблон, коли поведінка має сенс лише в деяких класах ієрархії класів, але не в інших.
Шаблони дизайну відвідувача або метод відвідувача в основному визначається як поведінковий шаблон проектування, який дозволяє нам визначити нову операцію, не змінюючи класи елементів, з якими вона працює.
Шаблон оформлення розширеного відвідувача: винайдено доктор Стівен Вонг і Dr. Дунг Нгуєн, це розширення шаблону відвідувача використовує параметризований метод visit() для відправлення залежним від хоста лямбда-функціям.
Банда чотирьох визначає шаблон відвідувача так: «Представляє операцію, яку потрібно виконати над елементами структури об’єкта. Visitor дозволяє визначити нову операцію, не змінюючи класи елементів, з якими вона працює».
По суті, відвідувач дозволяє додавати нові віртуальні функції до сімейства класів, не змінюючи класи. Замість цього створюється клас відвідувача, який реалізує всі відповідні спеціалізації віртуальної функції.