Паттерн: Посетитель (Visitor)
Исходник: InventoryVisitor.java, язык: java [code #536, hits: 7360]
автор: this [добавлен: 10.10.2007]
  1. package visitor;
  2.  
  3. /**
  4. * Посетитель, подсчитывающий количество
  5. * каждого вида (опись оборудования)
  6. */
  7. public class InventoryVisitor implements EquipmentVisitor {
  8. private int cardNum, chassisNum, floppyNum;
  9.  
  10. public void VisitCard(Card c) {
  11. cardNum++;
  12. }
  13.  
  14. public void VisitChassis(Chassis ch) {
  15. chassisNum++;
  16. }
  17.  
  18. public void VisitFloppyDisk(FloppyDisk d) {
  19. floppyNum++;
  20. }
  21.  
  22.  
  23. public int getCardNum() {
  24. return cardNum;
  25. }
  26.  
  27. public int getChassisNum() {
  28. return chassisNum;
  29. }
  30.  
  31. public int getFloppyNum() {
  32. return floppyNum;
  33. }
  34.  
  35. }
Сущность ConcreteVisitor

Конкретный вид посетителя, рассчитывающего итоговое количество каждого вида оборудования во всей конструкции.
Тестировалось на: java 1.5.0_04

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