我有一个类如下: -对象/类设计问题
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财产。
是上述正确或应分离出名字过滤器和姓氏过滤器,因为他们需要不同的属性?因为我认为在这种情况下,在向这个班级输入数据时需要执行一些业务规则。
请指点,谢谢
因此,在数据库设计方面,我必须将每个对象作为单独的表存储呢?像firstnamefilter表和lastnamefilter表一样? – Joshscorp 2009-10-22 03:44:00
不,我会为您的数据库使用枚举类型的方法。在这种情况下就没问题了。 – 2009-10-22 03:47:03