我创建了一个简单的工厂,在扩展它以涵盖其他实现之前,我想知道从开关/默认值返回的正确/推荐行为是什么。
在以下情况下,我使用枚举(SerialisationTypes)来确定所需的具体实现,默认情况下,我计划通过无参数方法返回 JSON 序列化器实现,但这在 switch 语句的默认值上是正确的行为还是应该我抛出异常?
namespace Helper.Core.Serialisation
{
internal class SerialisationFactory
{
internal ISerialiser Create()
{
return Create(SerialisationTypes.JsonSerialiser);
}
internal ISerialiser Create(SerialisationTypes type)
{
switch (type)
{
case SerialisationTypes.JsonSerialiser:
return new JSonSerialiser();
default:
return new JSonSerialiser();
}
}
}
}