Pregunta

Aquí está la situación, con el fin de apoyar a nuestro sistema legado, tenemos que insertar en una tabla cada vez que un usuario inicie sesión. Esto es básicamente una operación de un mantenimiento, por lo que no tiene mucho sentido para crear entidad / repositorio / comando / evento para este ya que este no se deja atar a cualquier regla de negocio en absoluto. El único beneficio para crear un comando CQRS es que esta base de datos de escritura puede suceder de forma asíncrona bajo ese modelo. Que es una mejor ruta a tomar?

  • Uso CQRS, y luego llamar a un procedimiento almacenado. al manejar esa orden?
  • Sólo la base de datos llamada directamente en el controlador (estoy usando asp.net mvc)
¿Fue útil?

Solución

Si está utilizando (y persistente) eventos para la reproducción es posible, entonces tiene sentido hacer la escritura a un legado DB como parte de un gestor de eventos (piensa "puerta de entrada"). Si necesita repetir este evento en el futuro que puede cambiar en un manejador falsa que no vuelva a insertar el disco.

Su controlador debe ser realmente sólo una capa de conversión y la petición HTTP y una orden para su dominio. Escribir en un DB (incluso legado, el acceso no es de dominio) en realidad no tiene sentido allí, en mi humilde opinión. Poner la lógica de un controlador de eventos hace que la interacción muy explícita.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top