Паттерн: Посетитель (Visitor)
Исходник: Chassis.java, язык: java [code #534, hits: 8026]
автор: this [добавлен: 10.10.2007]
  1. package visitor;
  2.  
  3. import java.util.Iterator;
  4.  
  5. /**
  6. * Оборудование для компьютера
  7. * Системный блок
  8. */
  9. public class Chassis extends CompositeEquipment {
  10.  
  11. public Chassis(String name) {
  12. super(name);
  13. }
  14.  
  15. public void Accept(EquipmentVisitor v) {
  16. v.VisitChassis(this);
  17. Iterator<Equipment> parts = getIterator();
  18. while (parts.hasNext()) {
  19. parts.next().Accept(v);
  20. }
  21. }
  22. }
Сущность ConcreteElement

Системный блок: пример составного элемента.
Тестировалось на: java 1.5.0_04

+добавить реализацию