我創建了一個簡單的工廠,在擴展它來涵蓋其他實現之前,我想知道從switch/default返回的正確/推薦行爲是什麼。C#出廠默認返回
在下面的例子中,我使用枚舉(SerialisationTypes)來確定所需的具體實現,並且默認情況下我打算通過參數less方法返回一個JSON串行器實現,但是這對於Default 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();
}
}
}
}
既然你打算使用JSON作爲默認,那就好了。 –
你是反正強制用戶傳遞一個枚舉type.isnt它? –