¿Qué es un buen diseño en este caso simple:
Digamos que tengo una base de Coches de clase con un método FillTank(Fuel fuel)
donde
el combustible es también una clase base que tienen varias clases de hoja, diesel, etanol, etc.
En mi hoja de coche de clase DieselCar.FillTank(Fuel fuel)
sólo a un determinado tipo de combustible
está permitido (no hubo sorpresas:)). Ahora, aquí está mi preocupación, de acuerdo a mi la interfaz de cada coche puede ser se derrumbó con cualquier combustible, pero me parece mal para mí, en cada FillTank()
de ejecución revise la entrada de combustible para el tipo correcto y si no tirar error o algo.
¿Cómo puedo rediseño tal caso a una más precisa, es incluso posible? Cómo diseñar una base de método que toma una clase de base para la entrada sin llegar a estos "resultados extraños"?