Já me deparei com alguns códigos em que um método realizava mais de uma operação, e uma delas, era alterar o objeto passado por parâmetro.
Como no exemplo a seguir, é necessário tratar algumas informações antes de persistir. Qual seria a forma correta? Eu poderia criar um método de extensão? Esse método eu criaria na mesma classe, na classe Cliente ou uma classe estática para centralizar os métodos de extensão do Cliente?
public void CadastrarCliente(Cliente cliente)
{
//... alguma lógica
AbreviarNome(cliente);
Salvar(cliente);
}
private void AbreviarNome(Cliente cliente)
{
cliente.Nome = cliente.Nome + cliente.SobreNome.Substring(0, 1) + ".";
// mais alguma operação...
}