No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

CQRS

17/24
Recursos

Aportes 9

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Considero que lo mas importante es no confundir a CQRS con la separacion de base de datos de escritura y lectura eso es mas bien lo que puede hacer el repository o un sistema de replica de base datos. Si no mas bien que separa la escritura de la lectura y esto es muy importante ya que en la escritura usualmente consumimos casos de uso y el dominio por lo cual hay validaciones en la lectura es util que no existan validaciones porque algunas veces por ejemplo se cambia a una arquitectura limpia pero se debe mantener el código legacy por tanto puede que exista data “sucia”

Creo que la mejor manera de explicar este curso es con un proyecto de ejemplo e irlo desarrollando paso a paso.

CQRS

Command Query Reponsability Segregation

Se divide en comandos y consultas.

Comandos

  • Escritura.
  • Cambian el estado.

Consultas

  • Lectura.
  • Retornan resultados.

Esta idea se puede aplicar a varios niveles:

  • Métodos.
  • Clases.
  • Servicios.
  • Bases de datos.
  • **Carpeta “src”: **Esta carpeta contiene el código fuente principal del proyecto.

**Carpeta “Application”: **Contiene la lógica de aplicación y los casos de uso del sistema.
Carpeta “Domain”: Contiene las entidades, objetos de valor y reglas de dominio del sistema.
Carpeta “Infrastructure”: Contiene la implementación de infraestructura y servicios externos.
Carpeta “Persistence”: Contiene la lógica de persistencia y acceso a datos.
**Archivo “Colour.cs”: **Este archivo, ubicado en la carpeta “Domain/ValueObjects”, representa la clase Colour que define un objeto de valor para representar colores en el dominio del sistema. El archivo define métodos y propiedades relacionados con los colores, como la creación de instancias de colores, conversiones implícitas y explícitas a cadenas, y la lista de colores compatibles. También se definen constantes para colores comunes como blanco, rojo, naranja, amarillo, verde, azul, morado y gris.

Para cuando el curso que no sea un "abre bocas introductorio"?
En resumen, CQRS mejora la escalabilidad, el rendimiento y la mantenibilidad de una aplicación. Esto se debe a que los sistemas tienen diferentes requisitos para manejar comandos y consultas, y al segregarlos, se puede optimizar cada operación de manera independiente. * **Comandos (Commands)**: Son de tipo escritura, ya que accionan modificando datos, como crear, actualizar o eliminar información. * **Consultas (Queries)**: Son de tipo lectura, ya que están optimizadas para proporcionar respuestas rápidas a las solicitudes de datos.
Cordial saludo profesor. Disculpe molestarle con la siguiente inquietud. Estoy tratando de desacoplar un proyecto de Laravel de la lógica de negocio, pero me cuesta trabajo. En mi caso específico, se desea realizar varias integraciones con plataformas de pago, por lo que existe en mi caso la entidad `PaymentMethod`, la cual es una interfaz, las implementaciones de esa interfaz poseen el comportamiento específico de cada tipo de pago, mi problema aparece cuando luego de recibir la petición del usuario a realizar el pago, no sé cómo inyectar la clase de pago específica al método de pago seleccionado por el usuario y ejecutar su método `pay()`. No sé si hacer un puerto y un adaptador por cada método de pago generando una ruta específica por cada uno de estos. Muchas gracias por sus clases profe.