Si tengo una colección de tablas de base de datos (en un archivo de Access, por ejemplo) y necesito validar cada tabla en esta colección contra un conjunto de reglas que tienen reglas comunes en todas las tablas y reglas individuales específico para uno o un subconjunto de tablas, ¿alguien puede recomendar un buen patrón de diseño para estudiar?Patrones de diseño de validación de datos
En concreto, me gustaría evitar código similar a:
void Main()
{
ValidateTable1();
ValidateTable2();
ValidateTable3();
}
private void ValidateTable1()
{
//Table1 validation code goes here
}
private void ValidateTable2()
{
//Table2 validation code goes here
}
private void ValidateTable3()
{
//Table3 validation code goes here
}
Además, he decidido utilizar log4net para registrar todos los errores y advertencias, por lo que cada método puede ser declarado void
y doesn No es necesario que devuelva nada. ¿Es esta una buena idea o sería mejor crear algún tipo de ValidationException
que capte todas las excepciones y las almacene en un List<ValidationException>
antes de imprimirlas todas al final?
Encontré this, que parece que puede funcionar, pero espero encontrar algunas muestras de código para trabajar. ¿Alguna sugerencia? ¿Alguien ha hecho algo similar en el pasado?
Para algunos antecedentes, el programa se escribirá en C# o VB.NET y las tablas estarán más que probablemente almacenadas en Access o SQL Server CE.
Los patrones de diseño son muy agradables, pero a menudo, las soluciones simples como ésta es más que aceptable para resolver el problema. – Samuel
Curioso, ¿este patrón de diseño tiene un nombre bien conocido? – Phil