<< | к паттерну | главная | печатать | обсудить(0 сообщений) >>
Паттерн: Посетитель (Visitor)
Исходник: PricingVisitor - посетитель списка товаров, рассчитывающий суммарную цену, сущность ConcreteVisitor [java, code #535, hits: 4518, рейтинг: 3/7,4.94(1941)] +
автор: this [добавлен: 10.10.2007] управление:
  1. package visitor;
  2.  
  3. /**
  4. * Посетитель рассчитывающий стоимость
  5. */
  6. public class PricingVisitor implements EquipmentVisitor {
  7.  
  8. /**
  9. * Полная цена всего
  10. */
  11. private int total;
  12.  
  13.  
  14. /**
  15. * Прибавляем полную стоимость карты
  16. * @see visitor.EquipmentVisitor#VisitCard(visitor.Card)
  17. */
  18. public void VisitCard(Card c) {
  19. total += c.getNetPrice();
  20. }
  21.  
  22. /**
  23. * Здесь же, поскольку это системник, содержащий
  24. * большое количество внутренних частей - применяем скидку
  25. * @see visitor.EquipmentVisitor#VisitChassis(visitor.Chassis)
  26. */
  27. public void VisitChassis(Chassis ch) {
  28. total += ch.getDisountPrice();
  29. }
  30.  
  31. /**
  32. * Прибавляем полную стоимость флоппика
  33. * @see visitor.EquipmentVisitor#VisitFloppyDisk(FloppyDisk)
  34. */
  35. public void VisitFloppyDisk(FloppyDisk d) {
  36. total += d.getNetPrice();
  37. }
  38.  
  39. public int getTotal() {
  40. return total;
  41. }
  42.  
  43. }
Сущность ConcreteVisitor

Конкретный вид посетителя, рассчитывающего суммарную стоимость.

+добавить реализацию
 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2017 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.006791 секунд
Количество запросов к БД: 9, gzip: 3.2kb/10.9kb(72%)