Итак, у меня есть простой класс User
, который выглядит примерно так (игнорируйте ужасное использование пробелов, хотелось бы, чтобы он был кратким, чтобы читать онлайн):
public class User
{
private string username;
public string Username
{
get
{
return username;
}set{
if(Validate.usernameIsValid(value)){username = value;}
else{throw new InvalidArgumentException("Username is invalid");}
}
}
//some more fields
public User(String argUsername)
{
this.Username = argUsername;
//OR validate again before:
username = argUsername;
}
}
Лучше ли использовать общедоступный метод доступа внутри класса, чтобы использовать его проверку? Или это плохая практика, и в этом случае я должен повторно проверить, прежде чем устанавливать частное поле username
?