Ho una scelta.
Opzione 1:
public class Sample
{
bool IsRelevant { get; set; }
}
Opzione 2:
public class Sample
{
}
public class RelevantSample : Sample
{
}
C'è una chiara regola ben nota su come prendere questa decisione?
La mia ricerca: ho già sentito parlare del refactoring "Sostituisci condizionale con polimorfismo", ma di solito si occupa di istruzioni switch di grandi dimensioni:
C'è una domanda in qualche modo correlata che descrive una situazione diversa (flag come argomento di un metodo piuttosto che come parte di un'entità di dominio): È sbagliato usare un parametro booleano per determinare il comportamento?