Prácticas recomendadas: ¿Se deben mezclar los metadatos y los datos de definición funcional?

StackOverflow https://stackoverflow.com/questions/164752

  •  03-07-2019
  •  | 
  •  

Pregunta

Considere el caso de una aplicación web de artículos de noticias simple que tiene una columna de la tabla de base de datos de " Estado " que es accesible por un conjunto de botones de radio de:

Estado - [x] Publicar [] Borrador [] Archivo

... donde " Publicar " muestra un artículo públicamente y " Borrador " y " Archivo " no haga. Funcionalmente " Borrador " y " Archivo " haga lo mismo pero lleve significados de metadatos adicionales. Los dos estados funcionales de " mostrar " y " ocultar " junto con los metadatos de " publish " ;, " draft " y " archivo " se entremezclan en la misma columna de " estado " ;.

¿Es esta una buena práctica? Si bien este es un caso muy simple, los casos más grandes pueden revelar fallas con tal práctica (o no ...).

¿Fue útil?

Solución

Los estados funcionales tienen que ver con el comportamiento, no es necesario que estén modelados en su base de datos. Si a su lógica empresarial solo le importa " mostrar " Artículos con un estado de " Publicado " - no hay razón para duplicar la complejidad de sus datos con una columna Mostrar.

En el momento en que decida que su lógica de negocios necesita datos adicionales para tomar la decisión de mostrar u ocultar un artículo (quizás un indicador aprobado por IsA), entonces puede almacenar esos datos.

Mirándolo desde un ángulo diferente: si agregaras otra columna de " Mostrar " ;, entonces, ¿qué diría un artículo con un estado de " Borrador " y " Mostrar " = 1 hacer? Según las reglas de su negocio, ese es un estado no válido.

Otros consejos

En este caso, diría que esta es la funcionalidad adecuada.

Todos hemos visto WTF's en los medios de comunicación donde alguien accidentalmente golpeó show [x] y borrador [x] al mismo tiempo.

Tal como está ahora, es imposible mostrar accidentalmente un borrador. Esto es importante en los periódicos, ya que los periodistas son conocidos por cosas como:

John Doe, de StackOverflow dijo, " --- No puedo recordar lo que dijo ese feo f * cker: compruebe la cinta y rellénelo más tarde "

Lo que probablemente no debería imprimirse.

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