Acabo de ver el video del código limpio de Google en YouTube (consulte link, primer artículo) para eliminar las declaraciones if
de su código y usar polimorfismo en su lugar.¿Cómo podría refactorizar este condicional para usar el polimorfismo?
Después de ver el video, eché un vistazo al código que estaba escribiendo antes de ver el video y noté algunos lugares donde podría usar este método, principalmente lugares donde se implementó el mismo tipo de lógica muchas veces. Así que un ejemplo:
Tengo un código como este.
public int Number
{
get
{
string returnValue;
if (this.internalTableNumber == null)
returnValue = this.RunTableInfoCommand(internalTableName,
TableInfoEnum.TAB_INFO_NUM);
else
returnValue = this.RunTableInfoCommand(internalTableNumber.Value,
TableInfoEnum.TAB_INFO_NUM);
return Convert.ToInt32(returnValue);
}
}
Lo que hace RunTableInfoCommand no es realmente importante, pero lo más importante es que tengo muchas propiedades con exactamente el mismo if
statments lo único que cambia es el TableInfoEnum.
Me preguntaba si alguien podría ayudarme a refactorizar esto para que siga haciendo lo mismo pero sin ningún tipo de declaraciones if
?
¿Por qué votar abajo? –
Como originalmente dijo "use polimorfismo", dijo "oh no, no necesito polimorfismo", y ya había gastado una buena cantidad de lo que pensé que era perder el tiempo respondiendo una pregunta que no le interesaba.Ahora que el "polimorfismo de uso" ha vuelto, eliminé el voto negativo y anulé mi respuesta. – tvanfosson
Disculpa, no quería perder el tiempo de nadie, porque uno de esos días, todavía me interesa ver cómo la gente lo haría sin embargo. Nuevamente, lo siento mucho. –