Паттерн: Посетитель (Visitor)
Фрагмент: Visitor [java]
  1. package visitor.ex;
  2.  
  3. public interface Visitor {
  4. void VisitElementA(ElementA el);
  5. void VisitElementB(ElementB el);
  6. void VisitCompositeElement(CompositeElement el);
  7. }