Entradas

Mostrando entradas de diciembre, 2023

Patron de Diseño Emergente CQRS

Imagen
  **Patrón de diseño emergente: CQRS** CQRS significa **Command Query Responsibility Segregation**, o **Segregación de Responsabilidades de Comandos y Consultas**. Es un patrón de diseño arquitectónico que separa las operaciones de lectura y actualización de un sistema. **Problema que resuelve** El patrón CQRS resuelve el problema de que las operaciones de lectura y actualización de un sistema pueden tener requisitos muy diferentes. Por ejemplo, las operaciones de lectura suelen requerir una alta eficiencia, mientras que las operaciones de actualización suelen requerir consistencia. **Solución** El patrón CQRS proporciona la siguiente solución: * Separa las operaciones de lectura y actualización en dos subsistemas: el subsistema de comandos y el subsistema de consultas. * El subsistema de comandos se encarga de las operaciones de actualización, como crear, actualizar y eliminar datos. * El subsistema de consultas se encarga de las operaciones de lectura, como obtener, filtrar y agr...

Patron de diseño estructural "decorator"

Imagen
  **Patrón de diseño estructural: Decorador** El patrón de diseño Decorador es un patrón estructural que permite añadir responsabilidades adicionales a un objeto de forma dinámica. Esto se consigue envolviendo el objeto original en un objeto decorador que proporciona la funcionalidad adicional. **Problema que resuelve** El patrón Decorador resuelve el problema de añadir funcionalidades adicionales a un objeto de forma dinámica. Esto es útil en situaciones en las que: * No es posible o práctico modificar el código del objeto original. * Se desea añadir funcionalidades adicionales a un objeto sin tener que crear subclases. * Se desea añadir funcionalidades adicionales a un objeto de forma incremental. **Solución** El patrón Decorador proporciona la siguiente solución: * Define una interfaz para los objetos que pueden tener responsabilidades añadidas. * Define un objeto al cual se le pueden agregar responsabilidades adicionales. * Define una clase decoradora abstracta que proporciona ...