Si una clase tiene un constructor que toma algún objeto de valor como parámetro y se basa en esto para hacer su inicialización. ¿Cómo debería reaccionar si este objeto es nulo?¿Cómo debería actuar un constructor cuando se le dan parámetros no válidos?
class SomeClass
{
private SomeData _data;
public SomeClass(SomeValueObject obj)
{
_data = obj.Data;
}
}
Este es un ejemplo, pero en general: ¿Cómo debe actuar un constructor si se da parámetros no válidos y por lo tanto no puede hacer la construcción correctamente? ¿Debería regresar sin hacer ninguna inicialización? Establecer los parámetros a algunos valores predeterminados? Lanzar una excepción? ¿Algo más?
Estoy seguro de que la respuesta a esto es "depende", pero ¿hay algunas prácticas recomendadas, etc.?
Definitivamente voy con este enfoque de excepción. Es la forma más limpia de salir de esto. – hurikhan77
Apoyo esto.Tener el objeto en un estado indefinido realmente no tiene mucho valor ... – stiank81