Princípio da responsabilidade única
Uma classe deve ter apenas uma razão para mudar.
Cada classe deve ter uma única responsabilidade dentro do projeto.
Por exemplo:
Vamos supor que no nosso projeto exista a seguinte classe:
public class PetShop
{
public decimal CalculaReceita(){}
public void PagarFuncionarios(){ }
public void AdicionarPet(Pet pet) { }
public Pet BuscarPet(int id) { }
}
Ela é responsável por uma série de tarefas, como calculo de finanças, pagamento de funcionários e cadastro de Pets... Muita coisa, né!?
Neste caso, nós teríamos cinco razões completamente diferentes para alterar uma classe, já quebrando o principio da responsabilidade única. Sem falar no alto acoplamento e na dificuldade de manutenção.
O ideal seria criar uma classe para cada responsabilidade diferente:
public class Receita
{
public decimal CalcularReceita() { }
}
public class Pagamentos
{
public void PagarFuncionarios() { }
}
public class PetRepositorio
{
public void AdicionarPet(Pet pet) { }
public Pet BuscarPet(int id) { }
}
Muito mais fácil de entender e bonito de se ver, não é mesmo?
Top comments (0)