Pregunta

Estoy construyendo un creador de cuestionario. Un cuestionario consta de secciones, secciones consistentes en páginas y páginas consisten en preguntas. El cuestionario es la raíz agregada.

Las secciones, las páginas y las preguntas pueden tener lo que se llaman códigos cortos que deberían ser únicos dentro de un cuestionario (pero no únicos dentro de la base de datos, por lo tanto, no son estrictamente una identidad). Tenía la intención de hacer que el corto código sea un objeto de valor y quería incluir la regla comercial de que debería ser único dentro del cuestionario, pero no estoy seguro de cómo asegurarlo. Entiendo que el objeto de valor no debe acceder al repositorio o la capa de servicio, entonces, ¿cómo descubre si es único?

Gracias por cualquier ayuda.

Darren

¿Fue útil?

Solución

Puede asignar la responsabilidad de generar códigos cortos al agregado del cuestionario. Se puede basar en un contador simple incrustado en el objeto del cuestionario. Cada entidad que desee crear un código corto llamaría su método de Cuestionario de cuestionario que contiene el NextShortCode () para obtener el próximo valor de código corto (en alcance del cuestionario actual).

Otros consejos

Claramente, necesitará un campo PK en la base de datos. La forma en que implementa eso depende de usted, pero si fuera yo, llevaría el campo PK a su objeto de valor para que se maneje automáticamente.

Querrías usar algo como un Guía o uuid. Sin embargo, exactamente cómo generaría uno dependería de qué idioma esté utilizando para su aplicación.

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