Command - mayueliza92/PatronesPHP GitHub Wiki

NIVEL DE APLICACIÓN: Objeto DEFINICION: El patrón de comando es un patrón de diseño basado en datos y se incluye en la categoría de patrón de comportamiento. Una solicitud se envuelve debajo de un objeto como comando y se pasa al objeto invocador. El objeto invocador busca el objeto apropiado que puede manejar este comando y pasa el comando al objeto correspondiente que ejecuta el comando. • Cliente • Invocador • Comando (Interfaz) • Receptor DONDE UTILIZARLO: Cuando hay más de un objeto que puede manejar una petición y el manejador no se conoce sino que debería determinarse automáticamente. Cuando se quiere enviar una petición a un objeto entre varios sin especificar explícitamente el receptor. BENEFICIOS: - Bajo acoplamiento del código especialmente si estamos trabajando con Symfony ya que los comandos recibirán las clases a utilizar mediante inversión de dependencias, consiguiendo que realizar cambios sea una tarea prácticamente inmediata. Reutilización, gracias a que nuestros comandos podremos emplearlos en cualquier parte del código. INCONVENIENTES La pega más habitual que podemos encontrarnos al implementar este patrón es que el número de clases de nuestro proyecto se verá incrementada, especialmente si la información a los comandos las pasamos mediante clases DTO’s lo cual hará necesaria una adecuada organización de los archivos para no volvernos locos. MODELADO