【发布时间】:2010-11-14 21:38:55
【问题描述】:
我想返回一个接口并在 switch 语句中设置它。这是一个糟糕的设计吗?
private IResultEntity GetEntity(char? someType)
{
IResultEntity entity = null;
switch (someType)
{
case 'L': //life
entity = new LifeEntity();
break;
case 'P': //property
entity = new PropertyEntity();
break;
case 'D': //disability
entity = new DisabilityEntity();
break;
case 'C': //credit card
entity = new CreditCardEntity();
break;
}
return entity;
}
【问题讨论】:
-
它违反了开闭原则,因为该方法是私有的,因此不能扩展。
标签: c# design-patterns interface factory-method