Skip to content

Instantly share code, notes, and snippets.

@RogelioCR311
Created April 11, 2024 23:30
Show Gist options
  • Save RogelioCR311/b0ed3b63b02afd379bd8fd8330eee5b9 to your computer and use it in GitHub Desktop.
Save RogelioCR311/b0ed3b63b02afd379bd8fd8330eee5b9 to your computer and use it in GitHub Desktop.

Chain of Responsability

El objetivo del patrón Chain of Responsibility es permitir que múltiples objetos manejen una solicitud sin especificar explícitamente cuál de ellos lo hará. Esto crea una cadena de objetos receptores y pasa la solicitud a lo largo de la cadena hasta que un objeto la maneje.

Codigo de Ejemplo

Command

El objetivo del patrón Command es encapsular una solicitud como un objeto, lo que permite parametrizar clientes con operaciones, poner operaciones en cola, registrar solicitudes y admitir la inversión de dependencia. En resumen, este patrón desacopla el objeto que invoca la acción del objeto que la realiza.

Codigo de Ejemplo

Iterator

El objetivo del patrón Iterator es proporcionar una forma de acceder secuencialmente a los elementos de una colección sin exponer su representación interna. El patrón Iterator permite recorrer una colección de elementos de manera uniforme sin importar la implementación subyacente de la colección.

Codigo de Ejemplo

Mediator

El patrón Mediator promueve la comunicación indirecta entre objetos, evitando que se comuniquen explícitamente entre sí y, en su lugar, lo hagan a través de un objeto mediador. Esto reduce las dependencias entre los objetos y facilita la modificación y extensión del sistema.

Codigo de Ejemplo

Memento

El patrón Memento permite capturar y restaurar el estado interno de un objeto sin violar el encapsulamiento. Esto es útil cuando se necesita implementar operaciones de deshacer o restaurar estados anteriores.

Codigo de Ejemplo

Observer

El patrón Observer establece una relación uno a muchos entre objetos, de modo que cuando un objeto cambia de estado, todos sus dependientes son notificados y actualizados automáticamente.

Codigo de Ejemplo

State

El patrón State permite que un objeto altere su comportamiento cuando su estado interno cambia. Esto se logra mediante la encapsulación de los estados en objetos separados y delegando el comportamiento correspondiente al objeto actual de estado

Codigo de Ejemplo

Strategy

El patrón Strategy permite definir una familia de algoritmos, encapsular cada uno de ellos y hacerlos intercambiables. Esto permite que el algoritmo varíe independientemente de los clientes que lo utilicen.

Codigo de Ejemplo

Template Method

El patrón Template Method define el esqueleto de un algoritmo en una operación, permitiendo que las subclases redefinan ciertos pasos del algoritmo sin cambiar su estructura general.

Codigo de Ejemplo

Visitor

El patrón Visitor permite definir una nueva operación sin cambiar las clases de los elementos sobre los que opera. Esto se logra definiendo un objeto externo (el Visitor) que realiza operaciones en objetos de una estructura de objetos compleja.

Codigo de Ejemplo

MVC

El objetivo clave del patrón Modelo-Vista-Controlador (MVC) es separar las preocupaciones en una aplicación para mejorar la modularidad, la escalabilidad y la mantenibilidad del código.

Codigo de Ejemplo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment