Паттерн проектирования Visitor позволяет добавлять новые виртуальные методы к существующим классам без изменения их структуры. Этот паттерн широко используется по всему Java Development Kit.
Вот самые заметные примеры паттерна Visitor в JDK:
javax.lang.model.element.AnnotationValue и AnnotationValueVisitor — используются для обработки значений аннотаций во время компиляцииjava.nio.file.FileVisitor и SimpleFileVisitor — применяются при обходе директорий файловой системы и обработке файловых операцийjavax.lang.model.type.TypeMirror и TypeVisitor — используются для обхода и обработки различных типов во время обработки аннотацийjavax.lang.model.element.Element и ElementVisitor — используются для обхода элементов программы, таких как классы, методы и поляjavax.faces.component.visit.VisitContext и VisitCallback — применяются в JSF для обхода деревьев компонентовЭти реализации показывают, как паттерн Visitor обеспечивает расширяемость без необходимости модифицировать существующие классы элементов. Такой подход особенно полезен в ситуациях, связанных с:
Интерфейс FileVisitor в java.nio.file — это пример паттерна Visitor, который позволяет добавлять новые операции к обходу файловой системы без модификации классов файлов.
Новый — ещё не проверен сообществом
Вы