https://refactoring.guru/es/design-patterns/command PATRONES DE COMPORTAMIENTO El patrón de comportamiento se ocupa de la comunicación entre objetos de clase. Se utilizan para detectar la presencia de patrones de comunicación ya presentes y pueden manipular estos patrones. Estos patrones de diseño están específicamente relacionados con la comunicación entre objetos. 01. CHAIN OF RESPONSIBILITY El patrón de diseño Chain of Responsibility es un patrón de comportamiento que evita acoplar el emisor de una petición a su receptor dando a más de un objeto la posibilidad de responder a una petición. 1. COMMAND Convierte una solicitud en un objeto independiente que contiene toda la información sobre la solicitud. Esta transformación permite parametrizar métodos con diferentes solicitudes, retrasar o poner en cola la ejecución de una solicitud y respaldar operaciones que no se pueden deshacer. # PSEUDOCÓDIGO En este ejemplo, el patrón Command ayuda a rastrear el historial de operaciones ejecutadas y hace posible revertir una operación si es necesario. 2. INTERPRETER Se utiliza para evaluar el lenguaje o la expresión al crear una interfaz que indique el contexto para la interpretación. 3. ITERATOR Su utilidad es proporcionar acceso secuencial a un número de elementos presentes dentro de un objeto de colección sin realizar ningún intercambio de información relevante. ,sss Lslslsls 4. MEDIATOR Este patrón proporciona una comunicación fácil a través de su clase que permite la comunicación para varias clases. 5. MEMENTO El patrón Memento permite recorrer elementos de una colección sin exponer su representación subyacente. 6. OBSERVER Permite definir un mecanismo de suscripción para notificar a varios objetos sobre cualquier evento que le suceda al objeto que está siendo observado. STATE En el patrón state, el comportamiento de una clase varía con su estado y, por lo tanto, está representado por el objeto de contexto. Ssss 8. STRATEGY Permite definir una familia de algoritmos, poner cada uno de ellos en una clase separada y hacer que sus objetos sean intercambiables. Kkk 9. TEMPLATE METHOD Se usa con componentes que tienen similitud donde se puede implementar una plantilla del código para probar ambos componentes. El código se puede cambiar con pequeñas modificaciones. 10. VISITOR El propósito de un patrón Visitor es definir una nueva operación sin introducir las modificaciones a una estructura de objeto existente. Los patrones de comportamiento son: Command: Son objetos que encapsulan una acción y los parámetros que necesitan para ejecutarse. Chain of responsibility: se evita acoplar al emisor y receptor de una petición dando la posibilidad a varios receptores de consumirlo. Cada receptor tiene la opción de consumir esa petición o pasárselo al siguiente dentro de la cadena. Interpreter: Define una representación para una gramática así como el mecanismo para evaluarla. El árbol de sintaxis del lenguaje se suele modelar mediante el patrón Composite. Iterator: Se utiliza para poder movernos por los elementos de un conjunto de forma secuencial sin necesidad de exponer su implementación específica. Mediator: Objeto que encapsula cómo otro conjunto de objetos interactúan y se comunican entre sí. Memento: Este patrón otorga la capacidad de restaurar un objeto a un estado anterior Observer: Los objetos son capaces de suscribirse a una serie de eventos que otro objetivo va a emitir, y serán avisados cuando esto ocurra. State: Permite modificar la forma en que un objeto se comporta en tiempo de ejecución, basándose en su estado interno. Strategy: Permite la selección del algoritmo que ejecuta cierta acción en tiempo de ejecución. Template Method: Especifica el esqueleto de un algoritmo, permitiendo a las subclases definir cómo implementan el comportamiento real. Visitor: Permite separar el algoritmo de la estructura de datos que se utilizará para ejecutarlo. De esta forma se pueden añadir nuevas operaciones a estas estructuras sin necesidad de modificarlas.