目前我有一堆if if语句来根据每个集合中有多少项目来设置CategoryId。需要选择设计模式的帮助
例如,
public class TeamWork
{
public string EmployeeName { get; set; }
public int CategoryId { get; set; }
}
public class BLL
{
public void SetCategoryId(ICollection<TeamWork> Converted, ICollection<TeamWork> Sourced)
{
if (Converted.Count == 1 && Sourced.Count == 1)
{
if (String.Compare(Sourced.First().EmployeeName, Converted.First().EmployeeName) == 0)
{
// set category id to 1
Converted.First().CategoryId = 1;
Sourced.First().CategoryId = 1;
}
else
{
// set category id to something
}
}
else if (Sourced.Rows.Count == 1 && Converted.Rows.Count > 1)
{
// set category id to something
}
// more if else statements...
}
}
我想有一个更好的方式,通过应用一些设计模式来做到这一点也许。有什么建议么?谢谢!
命令链可以适合 – simendsjo 2011-03-17 16:03:04
设计模式可能是矫枉过正的设置两个字段... – 2011-03-17 16:15:41
是的,如果我只有2个字段设计模式它会矫枉过正。哈哈。目前大约有12条if else语句(并且正在增长......)。 – dm80 2011-03-17 16:26:18