lunes, 8 de julio de 2013

8.1.7 Comando (Command)

Este patrón encapsula las operaciones que realiza un objeto de forma que éstas sean a su vez objetos que cumplen una misma interfaz. Esto permite realizar, de manera sencilla, tareas como: agrupar o encolar operaciones, deshacer operaciones y parametrizar otros objetos con dichas operaciones de forma sencilla. 

Además, fomenta que añadir nuevos comandos sea una tarea simple y aislada. El Diagrama Estático de Clases adjunto describe su estructura estática y el Diagrama de Secuencia de la Figura siguiente explica su comportamiento dinámico.

El patrón Comando se podría utilizar, por ejemplo, para ordenar los comandos que se pueden ejecutar desde un intérprete de consola. 


Si el intérprete utiliza los comandos solo a través de la interfaz común, sin conocer en cada momento el comando concreto que se está ejecutando, una de las ventajas que se obtienen consiste en que el número de comandos puede crecer sin modificar dicho interprete.




Diagrama de clases del patrón Comando.






El cliente crea los comandos y los asocia al ejecutor. Más tarde, ejecuta el comando que corresponda. Dicho comando, que conoce al receptor de su orden, ejecuta la acción asociada al receptor que conoce.


El objeto de clase intérprete sólo necesita conocer la interfaz de la clase ComandoShell. En este caso, el sistema operativo sería el receptor y el intérprete sería el ejecutor.






No hay comentarios.:

Publicar un comentario