Pregunta

  

Versiones
  Si los acontecimientos cambia, se crearía una nueva versión de ese evento, y mantener los antiguos. Para mantener su forma de código de dominio estar hinchado con el manejo de todas las versiones de los hechos que le básicamente introducir un componente que convierte los eventos anteriores a versiones más recientes y, a continuación, aplicarlos en el dominio. Recuerde que los eventos son cosas que realmente ocurrió en el dominio de lo que en la mayoría de los casos la información de eventos en desuso son valiosos.

todavía no he encontrado ninguna prueba de ello.

Cualquier ayuda?

¿Fue útil?

Solución

Hay dos formas principales para las conversiones de eventos mango. Tanto ocurrir durante la deserialización evento:

  1. Puede añadir nuevas clases con números de versión (SomethingHappened, SomethingHappened2, SomethingHappened3). El deserializer se instanciate y poblar la clase, el pasar a un convertidor para obtener el mismo evento en su versión más alta, aquí SomethingHappened3. Uno de los problemas es que usted tiene que actualizar también los controladores de eventos de utilizar la última versión del evento. Para mitigar esto, se puede utilizar una convención que SomethingHappened es siempre la última versión. Cuando va a v2, renombrar SomethingHappened como SomethingHappened1 y crear un SomethingHappened que será la v2. Para ello es necesario tener el control sobre las clases creadas a partir de eventos en serie ya que el nombre de la clase serializada no contendrá el número de versión, debe almacenar a un lado.

  2. manteniendo su lugar todas las versiones de las clases en el código, el convertidor recibirá un documento (un árbol, como un documento XML o un objeto JSON) y que modificarlo para proporcionar la información necesaria para construir la última versión.

Todo esto depende del control que tiene en su canal de deserialización.

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