CQRS PRÁCTICO - Cómo se implementa, para que sirve y cómo es su arquitectura
HTML-код
- Опубликовано: 30 мар 2023
- Ya habíamos hablado de CQRS desde lo teórico y habíamos aprendido para qué sirve, cómo se usa y cuando se usa. Llegó el momento de llevar la teoría a la práctica y de ver cómo implementar el patrón, cómo es la arquitectura de la solución y como usar MediatR
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
💥ME ENCUENTRAS TAMBIÉN AQUÍ 👇
Sitio Web ►thecodercave.com/
Twitter ► / cavecoder
Discord ► / discord
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
💻 CURSOS PREMIUM 👇
🚀Curso Completo de C# desde Cero ► bit.ly/3jLyIv4
🚀Curso de C# Práctico en 15 Proyectos ► bit.ly/3uUqCaR
🚀Curso de C# en el Backend - API Mastery ► bit.ly/3LL3CEM
🔥 Curso Completo de Blazor desde Cero ► bit.ly/38DtZXz
🔥 Blazor Ultimate: Domina Blazor en 4 Proyectos ► bit.ly/3xbAtbA
👉Curso Práctico de SQL para principiantes ►bit.ly/2R6KVOX
📚 Curso de GIT y Github para Principiantes ► bit.ly/30Fbhz4
Descuento del 60% en todos mis cursos 👉 thecodercave.com/descuento/
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
📚 RECURSOS RECOMENDADOS 👇
¿QUIERES APRENDER INGLÉS?👇
Italki ► $10 de regalo con tu primera compra
👉 go.italki.com/TheCoderCaveesp
Busuu ► App gratis con descuento para su sección Premium
👉www.dpbolvw.net/click-1003128...
Dominios ► Namecheap: 👇
👉 bit.ly/3YofMGK
Hosting ► Bluehost: 👇
👉 www.bluehost.com/track/gabmor...
Nota: Los links en la descripción son links de afiliado, lo que significa que recibiré una pequeña comisión si te registras usando esos links sin ningún costo extra para ti. Todos los links de afiliados son productos o servicios en los que creo y uso personalmente.
Music from filmmusic.io
"Blippy Trance" by Kevin MacLeod (incompetech.com)
License: CC BY (creativecommons.org/licenses/b...) - Наука
Esta genial, voto para incorporar Event Sourcing
Y me sumo al pedido de ampliar este ejemplo con Event Sourcing
Excelente video, me sumo al pedido de Event sourcing
Muy buen video!! Sería genial un vídeo de event sourcing!!!
Muy bien explicado, para dejarlo redondo estaría bien incorporar event sourcing
Muy buen video, muchas gracias! Si, estaría muy bueno que lo extiendas usando dos bases de datos y rabbitmq, por mi parte, conozco la teoria pero nunca lo he visto implementado, muy bien explicado amigo, mil gracias!!
Opino lo mismo!!
Gran video. Muchísimas gracias por esos aportes. Lo es tuve replicando y usando el MediatR 12 salía un error, por si a alguien le ayuda en program cambié builder.Services.AddMediatR(typeof(Program).Assembly); por builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly())); y va sobre ruedas.. Ahora toca meterle repository y sql, y ver cómo queda esa plantilla.
Capo muchas gracias,tenia el mismo problema y con eso lo resolvi
Muchísimas gracias por tomarte la molestia de regalarnos este ejemplo tan claro y bien explicado. Me gustaría que nos regalaras el ejemplo aplicando Event Sourcing. De nuevo muchas gracias por tus videos.
Excelente video explicativo, me sumo a los que quisieran ver ampliado este ejemplo práctico con Event Sourcing. Gracias!
Que capo que SOS Gabriel! Seguí así.. exelente el video y si estaría bueno incorporar todo.
Increíble contenido 🎉
Voto por adicionar Event sourcing al proyecto y gracias por compartir tu conocimiento. Todo claro!
Buenas! Muy buen material! Los felicito! Realmente son muy claras las explicaciones. Sigan así! Saludos!
Una genialidad de video, super clara tu explicación, muchas gracias 🤗
Buenísimo! Voto para seguir con Event Sourcing
Br, sos un grandísimo crack. En cuanto pueda compro un curso tuyo de Udemy.
Muchas gracias por este video, de paso te sugiero que sigas con otro video, más complejo y con esos detalles que hacen falta para esta arquitectura. Saludos
Super, bien explicado, tambien voto para lo de EventSourcing
Muy buen contenido y gran explicacion!!!. Gracias por compartir puntos de vista y conocimiento!!. Será posible que subas este codigo de ejemplo a un repo??, saludos!!
🎉 muy bueno el vídeo bien claro de principioa fin y bien resumido.
Pregunta esa estructura no tendría que ir por modulo rn una carpeta padre para poder escalar mejor. Fíjate con un simple TO-DO cuantos archivos se creo. Si tenes muchos ABM algunas carpetas serían un lío de muchos archivos de distintas ABMs.
Saludos y gracias por compartir.
Gracias por el tutorial, voto para incorporar Event Sourcing!
Excelentísimo, justo me había descargado el Boilerplate Api y Blazor que recomendabas, para entender la arquitectura; y una explicación como esta me ayuda harto. Sigue por eso camino. Y pudieras dar más ejemplos, a tu estilo, que ayuden a entender esos templates sería genial. Un abrazo!
Voto por Event Sourcing. No entendí por qué colocar los comandos y consultas en la carpeta infraestructura. Yo entiendo que un comando representa un caso de uso de nuestra aplicación y debería estar en esa capa.
Yo igual se que los commands y queries son la representacion de los use cases y por lo tanto deberian de ir en la capa Application
Hola en primer lugar muchas gracias por el vídeo y me sumo a la petición de agregar Event Sourcing, saludos y gracias
Muy buen video
Excelente explicación, voto a favor de incorporar Event Sourcing.
Podrías utilizar la librería CAP para ello?
Excelente, voto por incorporar Event Sourcing
Muy buen video agrega el event sourcing xf
Excelente voto para que incorporen event sourcing
Gracias por compartir compañero, me uno a la solicitud de integrar event sourcing, saludos desde perú
Venia por el event sourcing en realidad 😂 voto a favor de implementarlo
Esperamos la implementación para Event sourcing.
Si tengo los endpoint utilizado DI , interfaces y sus implementaciones para hacer validaciones de datos, Transformaciones y llamadas en la implementación a otras interfaces ( métodos para hacer llamadas a endpoint externos), está lógica se usaría en el handler y el llamado a mis otras interfaces sería hacerlas nuevamente commands o queries y sería nuevamente por mediator mandarlas a llamar? Y así cambiaría de interfaces e implementaciones por commands o mezclarlas? Es decir en el hadler inyectar mis interfaces a llamas externas
Si continúas con Event Sourcing y para el ejemplo usas bases de datos separadas para lectura y escritura, me caso contigo 🥰
Hola, en el min 19:14 en el método "Handle" veo que haces dos operaciones, Operación de lectura línea 19, y Operación de escritura línea 31, esto no hace que rompa la regla del patrón CQRS ? de dividir las operaciones de lectura y escritura?
Tiene razón
Agrega porfa even sourcing y si es posible validator
Siiiiiiiiiiiuuuuuuuuu
Voto por el vídeo de abastecimiento de eventos
¿Por qué se tiene que abrir la conexión de la base de datos en los procesos? ¿Se puede abrir en un punto de la aplicación y esta quedar abierta? ó ¿Es por algún motivo que yo desconozco?. Gracias
Event Sourcing
Usa event source
Si event sourcing
+1 event sourcing
No Event Sourcing, no like 😁
Hola, muchas gracias por compratir conocimieento, tengo unas dudas, para empezar, separé en proyectos (librerías de clase)
tuve que poner los Handlers en Infrastucture porque sino había una referencia cíclica con el proyecto de Application, bueno pasado ese punto tengo unos errores básicamente poque no sé como registrar correcatemente en Program los ensamblados
System.MissingMethodException: Method not found: 'System.Collections.Generic.IList`1 Microsoft.EntityFrameworkCore.Metadata.Conventions.ConventionSet.get_ModelFinalizingConventions()'.
eso me salió luego de poner algo como lo siquiente:
builder.Services.AddMediatR(typeof(GetAllTaskHandler).Assembly);
builder.Services.AddMediatR(typeof(GetTaskByIdHandler).Assembly);
builder.Services.AddMediatR(typeof(CreateTaskHandler).Assembly);
builder.Services.AddMediatR(typeof(UpdateTaskHandler).Assembly);
builder.Services.AddMediatR(typeof(DeleteTaskHandler).Assembly);
builder.Services.AddMediatR(typeof(Program).Assembly);
me puedes orientar por favor, muchas gracias.