Pregunta

Soy nuevo en CQRS y confundido sobre cómo comando escribirá un cambio de dirección a un objeto de cliente

digamos que he dividido la información del cliente en dos tablas

cliente - la base de datos de dominio

Activo Preferida

Base de datos Customer_Read

Nombre:

Dirección:

Teléfono,

correo electrónico

usuario modifica la dirección del cliente. Los campos de dirección están en la base de datos de lectura. puede haber 3 o más tablas de consulta amigable que mantiene la información de dirección.

Si entiendo la CQRS implementaciones (muestra) de dominio del cliente (eliminado de raíz agregado) debe ser la publicación de sucesos sobre el cambio de dirección que debe ser manejado por varios controladores a actualizar cada uno de la tabla.

¿Cómo se implementa esto cuando no voy a estar cambiando el estado del objeto de cliente? Hacer de dominio tiene que saber que tiene la dirección en otra base de datos?

Gracias de antemano.

Saludos,

El Mar

Actualizar -

Después de pasar por más mensajes en la red que estoy asumiendo que si el estado no se cambia por el comando ningún caso se generará para salvar el propio dominio pero los acontecimientos se aplicará a cambiar la dirección en la consulta / Ver Modelo mesas ambiente.

¿Fue útil?

Solución

Aún hay que persistir alguna alguna parte de datos de dominio en la persistencia de escritura. De esta manera la dirección se almacena en este almacén de persistencia, el evento se publica después de cambiarlo.

De esta manera:

  • si no hubiera un cambio - que puede saltarse la publicación del evento
  • dominio no necesita saber nada acerca de los objetos que pueden (o no) estar suscrito a sus eventos.

Esta lógica se aplica tanto a la persistencia en DBs relacionales (MS SQL con NHibernate, por ejemplo) y el enfoque evento de abastecimiento.

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