Паттерн: Команда (Command)
Исходник: MultiPage.java, язык: java [code #490, hits: 6484]
автор: this [добавлен: 04.10.2007]
  1. package command;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.Iterator;
  6. import java.util.List;
  7.  
  8. public class MultiPage implements Module {
  9. List<Module> modules = new ArrayList<Module>(5);
  10.  
  11. public void Add(Module module) {
  12. modules.add(module);
  13. }
  14.  
  15. public void Remove(Module module) {
  16. modules.remove(module);
  17. }
  18.  
  19. public List<String> GetMenu() {
  20. return Collections.singletonList("Показать все блоки страницы");
  21. }
  22.  
  23. public void Run() {
  24. for (Iterator<Module> iter = modules.iterator(); iter.hasNext();) {
  25. iter.next().Run();
  26. }
  27.  
  28. }
  29.  
  30. }
Сущность MacroCommand

Составной модуль - запускающий список других назначенных модулей.
Тестировалось на: java 1.5.0_04

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