SOLID - SRP

gbarbosa

Giovanne Barbosa

Posted on April 6, 2022

SOLID - SRP

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) { }
    }
Enter fullscreen mode Exit fullscreen mode

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) { }
    }
Enter fullscreen mode Exit fullscreen mode

Muito mais fácil de entender e bonito de se ver, não é mesmo?

💖 💪 🙅 🚩
gbarbosa
Giovanne Barbosa

Posted on April 6, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

SOLID - SRP
solid SOLID - SRP

April 6, 2022

SOLID - OCP
solid SOLID - OCP

March 27, 2022