Pregunta

¿Cuál es el patrón de diseño de acción, no he oído hablar de él antes? Estoy sospechando que es el mismo que el patrón Diseño Comando [Wikipedia] pero no puedo encontrar recursos en ella.

¿Fue útil?

Solución

Tienes razón, patrón de acción == patrón de comando. Se oye que llamó el patrón de acción más a menudo en el diseño de interfaz gráfica de usuario, en la forma "en algún botón presionado, realice esta acción". En el código de la tecla se cablea con un objeto de algún tipo de acción.

Otros consejos

Estoy leyendo " El patrón de acción / Ejecutor " en MSDN este momento, y puedo estar de acuerdo con la premisa de que los patrones de mando y Acción / ejecutor son los mismos.

A partir de la descripción de la Comando en SourceMaking.com:

  
      
  • encapsular una solicitud como un objeto, permitiendo de ese modo que la parametrización de clientes con diferentes solicitudes, la cola o las solicitudes de registro y apoyar las operaciones se pueden deshacer.
  •   
  • "invocación de un método en un objeto" promover al estado del objeto completo
  •   
  • una devolución de llamada orientado a objetos
  •   

Desde el artículo de MSDN sobre el patrón Acción / Ejecutor:

  

El patrón Acción / Ejecutor identifica una estrategia de asignación de casos de uso en el código, lo que permite una mejor visibilidad y agilidad. Además, se ocupa de los problemas de contaminación de las entidades y saltando sobre el uso adecuado de las transacciones.

La diferencia parece ser que una "acción" encapsula una o varias etapas, que cuando se realiza con éxito delegar el control a otro objeto responsable de saber cómo conservar esos cambios en una base de datos, servicio web o un archivo de almacenamiento. La acción se desacopla de la forma en que se ejecuta / persistió.

A "comando" se siente como una mitad del patrón Acción / Ejecutor - la "acción" parece sinónimo de un "comando". El patrón Acción / Ejecutor lleva las cosas un paso más allá y describe otra de las preocupaciones que tiene la responsabilidad de tomar los cambios generados por la "acción" o "comando" y guardarlos en algún lugar.

Acción patrón de diseño es el mismo que el patrón de diseño del sistema. La acción es una entidad clave, que encapsula la información con respecto a lo que en sí mismo es su comportamiento, lo que el procesamiento tiene que ser hecho en su método do (), la forma en que se puede deshacer, y así sucesivamente. Cuando una aplicación o cualquiera de sus componentes está diseñado de acuerdo con el patrón de diseño de acción, a continuación, la actividad Todo en la aplicación se puede representar en la forma de acción, cada cosa se puede rehacer / deshacer varias veces. P.ej. Macros de Excel, deshacer / rehacer en editores de texto, etc.

clase de acción, que es un bloque de construcción en este patrón de diseño se puede diseñar como a continuación: -

public interface Action{
  public void do();
  public void undo();
  public void do(int iNoOfTimes);
}

public class FileCopyAction implements Action{
  private int iActionId;
  public void do(){}
  public void undo(){}
  public void do(int iNoOfItems){}
}

Espero que ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top