Se una classe ha un costruttore che accetta un oggetto valore come parametro e si affida a questo per eseguire l'inizializzazione. Come dovrebbe reagire se questo oggetto è nullo?Come deve comportarsi un costruttore quando viene fornito un parametro non valido?
class SomeClass
{
private SomeData _data;
public SomeClass(SomeValueObject obj)
{
_data = obj.Data;
}
}
Questo è un esempio, ma in generale: come dovrebbe un atto costruttore se viene dato parametri non validi e quindi non può fare la costruzione correttamente? Dovrebbe solo tornare senza fare alcuna inizializzazione? Impostare i parametri su alcuni valori predefiniti? Lanciare un'eccezione? Qualcos'altro?
Sono sicuro che la risposta è "Dipende", ma ci sono delle buone pratiche, ecc.?
Sicuramente andrei con questo approccio eccezionale. È il modo più pulito per uscire da questo. – hurikhan77
Io sostengo questo.Avere l'oggetto in uno stato indefinito non ha molto valore. – stiank81