No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

CQRS

17/24
Recursos

Aportes 7

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 鈥渟ucia鈥

  • **Carpeta 鈥渟rc鈥: **Esta carpeta contiene el c贸digo fuente principal del proyecto.

**Carpeta 鈥淎pplication鈥: **Contiene la l贸gica de aplicaci贸n y los casos de uso del sistema.
Carpeta 鈥淒omain鈥: Contiene las entidades, objetos de valor y reglas de dominio del sistema.
Carpeta 鈥淚nfrastructure鈥: Contiene la implementaci贸n de infraestructura y servicios externos.
Carpeta 鈥淧ersistence鈥: Contiene la l贸gica de persistencia y acceso a datos.
**Archivo 鈥淐olour.cs鈥: **Este archivo, ubicado en la carpeta 鈥淒omain/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.

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.
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.
Creo que la mejor manera de explicar este curso es con un proyecto de ejemplo e irlo desarrollando paso a paso.