¿Reutilizando la clave raíz agregada en contextos delimitados?

Jan 12 2021

Como dice la pregunta, ¿es esta una mala práctica? Tengo una raíz agregada de usuario en el contexto limitado de Identity para autenticar al usuario. En estos contextos limitados, tengo campos para el usuario relacionados con la identificación del usuario, por ejemplo, correo electrónico, pw salado, etc.

También tengo un subdominio genérico para manejar notificaciones. En este contexto, un usuario es un notificante. En este contexto, el notificante tiene campos para, por ejemplo, el número de notificaciones no leídas, lastRead, etc.

¿Es bueno reutilizar la identificación de usuario en este caso, ya que sé que hay una correspondencia de 1 a 1 entre un usuario y un notificante? ¿O debería tener un campo en la raíz notificante que haga referencia al usuario? Se siente redundante, porque luego tengo que hacer una búsqueda para mapear entre ellos cuando sé que su relación es simétrica.

Respuestas

3 Christophe Jan 12 2021 at 05:09

No, no reutilice claves raíz agregadas para identificar diferentes objetos en diferentes contextos.

¿Por qué?

  • Porque a Notificantno es a User. Quizás hoy en día, la mayoría de los usuarios reciben notificaciones. Pero mañana es posible que tenga que notificar a terceros que no estén usando el sistema, o incluso sistemas de monitoreo automático.
  • Porque es otro contexto limitado y los contextos limitados pueden evolucionar de forma independiente. Quizás hoy Usery Notificantcompartan la misma granularidad y puedan estar directamente relacionados uno a uno. ¿Pero quién sabe del mañana? Por lo tanto, debe pensar detenidamente cómo deberían estar relacionados.