❓ Расскажите о паттерне Visitor
Visitor — это поведенческий паттерн, который позволяет добавлять новые операции к объектам, не изменяя их классы.
Простыми словами: налоговый инспектор (visitor) приходит в разные компании и выполняет проверку — компании не меняются, а новые виды проверок добавляются легко.
▪️ Когда использовать
— Нужно выполнить операцию над группой разнородных объектов
— Новые операции добавляются часто, а новые типы элементов — редко
▪️ Минус
Visitor нужно обновлять при добавлении нового типа элемента — нарушается Open/Closed Principle для элементов.
Post #1288
825