Documentos de Académico
Documentos de Profesional
Documentos de Cultura
z Solucin:
z Encapsular las peticiones como objetos
command
Application Menu MenuItem Command
add (Document) add (MenuItem) clicked () execute ()
Document
open () command.execute()
close ()
cut ()
copy ()
paste ()
Command
Motivacin
commands
Command
execute ()
doc
Document PasteCommand OpenCommand MacroCommand
open () execute () execute () execute ()
close () askUser ()
cut ()
copy ()
paste () name = askUser() forall c in commands
doc.paste() c.execute()
doc = new Document(name)
application.add(doc)
doc.open()
application
Application
add (Document)
Command
Aplicabilidad
z Usa el patrn Command si quieres:
Invoker Command
+ execute()
Receiver receiver
Client + action() ConcreteCommand
- state
+ execute()
receiver.action()
Command
Participantes
z Command: define la interfaz de ejecucin de operaciones
execute ()
paste ()
Command
Colaboraciones (ejemplo)
ed:Editor crear:MenuItem
execute ()
d:Documento
add (d)
open ()
Command
Consecuencias
z Desacopla el objeto que invoca la operacin del que sabe
cmo llevarla a cabo
PlanificadorTareas Tarea
+ aadirTarea(Tarea) - frecuencia
+ eliminarTarea(Tarea) - ultimaEjecucion
+ execute()
claseSistema.action();