Encapsula comandos en objetos de tal manera que se puede controlar su selecc9ion y secuencia de ejecucion
El diagrama UML es el siguiente: 
El Comando abstracto es el siguiente
public interface Comando {
....
}
See the complete code for Comando here.public void ejecutar();
El manejador de comandos es
public class ManejadorComando {
....
}
See the complete code for ManejadorComando here.
private Comando [] comandos = new Comando[100];
private int ultimo = 0;
public void agregar(Comando cmd){ comandos[ultimo] = cmd; ultimo++;}
public void trabajar(){ ;}
Y los comandos son
public class Comando1 implements Comando {
....
}
See the complete code for Comando1 here.
public void ejecutar(){ System.out.println("Hola");}
public class Comando2 implements Comando {
....
}
See the complete code for Comando2 here.
public void ejecutar(){ System.out.println("Mundo");}
El cliente
public class ClienteComando {
....
}
See the complete code for ClienteComando here.
public static void main(String [] args) {
ManejadorComando mgr = new ManejadorComando();
mgr.agregar(new Comando1());
mgr.agregar(new Comando2());
mgr.ejecutar();
}