Red de conocimiento del abogados - Bufete de abogados - ¿Cuál es la diferencia entre el modo comando y el modo estrategia?

¿Cuál es la diferencia entre el modo comando y el modo estrategia?

Diferencias:

1. El objeto de comando necesita recopilar dos tipos de información, uno es el nombre del método y el otro son los parámetros del método. Los parámetros se recopilan a través del receptor del objeto.

La motivación básica del modo de comando es desacoplar el inicio de las acciones del programa de la ejecución real. Esto es como el líder del escuadrón del campo de batalla dando órdenes: cobertura de ametralladora (objeto de comando 1) y carga de infantería (comando). objetivo 2), pero Cómo disparar realmente una ametralladora y cómo cargar a cada soldado de infantería es todo ejecución, no todo está planeado por el líder del escuadrón. Diferentes soldados tendrán diferentes rutas de carga, lo que se llama polimorfismo. El mecanismo de desacoplamiento del patrón de comando puede ser polimórfico y asincrónico (el inicio de la acción no significa ejecución inmediata).

2. La estrategia no necesita recopilar información del nombre del método y solo llama a un método de estrategia.

El propósito del patrón de estrategia es implementar una plantilla de comportamiento del programa, es decir, algunas acciones en el comportamiento de un programa son ciertas y otras son inciertas, pero existe una cierta relación entre ciertas partes y lo incierto. partes, como la línea de llenado de bebidas: el primer paso es preparar botellas vacías; el segundo paso es llenar la bebida; el tercer paso es sellar; el cuarto paso es etiquetar;

El modelo Stragtegy revela la certeza de este paso, pero qué bebidas beber y qué marcas etiquetar quedan en manos de estrategias específicas a implementar. Por tanto, es polimórfico y sincrónico. Por lo tanto, generalmente se implementa mediante una función de devolución de llamada o el llamado mecanismo Sink (esencialmente una función de devolución de llamada).