Я бы попробовал с комбинацией шаблонов Factory и Visitor:
у меня есть коллекция таблиц базы данных (например, в файле Access), и мне нужно проверить каждую таблицу в этой коллекции по набору правил, который имеет как общие правила для всех таблиц, так и отдельные правила, относящиеся к одной или подмножеству таблицы, кто-то может порекомендовать хороший шаблон дизайна для изучения?
В частности, я хотел бы избежать кода, похожего на:
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
}
Кроме того, я решил использовать log4net для регистрации всех ошибок и предупреждений, чтобы каждый метод мог быть объявленvoid
и не нужно ничего возвращать. Это хорошая идея или лучше создать какую-тоValidationException
который перехватывает все исключения и сохраняет их вList<ValidationException>
прежде чем распечатать их все в конце?
Я нашелэтопохоже, это может сработать, но я надеюсь найти примеры кода для работы. Какие-либо предложения? Кто-нибудь делал что-то подобное в прошлом?
Для некоторого фона программа будет написана либо на C #, либо на VB.NET, а таблицы, скорее всего, будут храниться либо в Access, либо в SQL Server CE.