У меня есть класс следующим образом: -Объект/Класс Дизайн Вопрос
interface IFilterCondition
{
List<Name> ApplyFilter(List<Name> namesToFilter);
}
class FilterName : IFilterCondition
{
public NameFilterEnum NameFilterEnum{ get; set; }
public List<Name> ExcludeList { get; set; }
public char StartCharacter{ get; set; }
#region IFilterCondition Members
public List<Name> ApplyFilter(List<Name> namesToFilter)
{
switch (NameFilterEnum)
{
case NameFilterEnum.FilterFirstName:
// Check Exclude List
// Check Start Character
break;
case NameFilterEnum.FilterLastName:
// Check Exclude List only
break;
default:
break;
}
return namesToFilter;
}
#endregion
}
enum NameFilterEnum
{
None,
FilterFirstName,
FilterLastName
}
Обратите внимание, что только если он помечен как FilterFirstName то потребуется свойство StartCharacter.
Правильно ли это или следует отделить фильтр FirstName и фильтр LastName, поскольку они требуют разных свойств? Coz Я думаю, что в этом случае некоторые бизнес-правила необходимо применять при вводе данных в этот класс.
Пожалуйста, советы, Благодаря
Итак, что касается дизайна базы данных, я должен хранить каждый объект как отдельную таблицу? Как таблица firstnamefilter и таблица lastnamefilter? – Joshscorp
Нет, я бы пошел с подходом типа enum для вашей базы данных. В этом контексте было бы хорошо. –