Princípio da Responsabilidade Única (SRP)

Definição

O Princípio da Responsabilidade Única (Single Responsibility Principle - SRP) estabelece que uma classe, módulo ou função deve ter apenas uma razão para mudar.

Isso significa que uma entidade deve ter apenas uma motivação para mudar — ou seja, deve lidar com um único aspecto da lógica do sistema. Ao centralizar uma responsabilidade por componente, o código se torna mais modular, coeso e previsível.

O SRP é o primeiro princípio do SOLID, um conjunto de boas práticas para design orientado a objetos.

Por que é importante

Separar responsabilidades reduz o acoplamento e facilita a manutenção. Se cada módulo tem um propósito claro, mudanças futuras afetam menos partes do sistema. Também favorece testes mais simples e reutilização de código.

Exemplo prático (Python)

Esta classe viola o SRP ao misturar regras de negócio com persistência de dados:

class Usuario:
    def __init__(self, nome):
        self.nome = nome

    def validar_nome(self):
        ...

    def salvar_em_banco(self):
        ...

Uma melhor separação de responsabilidades seria:

class Usuario:
    def __init__(self, nome):
        self.nome = nome

    def validar_nome(self):
          ...
  
class UsuarioRepository:
    def salvar(self, usuario):
        ...

Agora, cada classe tem uma responsabilidade clara: Usuario representa a entidade e suas regras, enquanto UsuarioRepository lida com persistência.

Consequências de ignorar o SRP

  • Dificulta o entendimento e a testabilidade dos módulos
  • Aumenta o acoplamento entre responsabilidades distintas
  • Eleva o risco de efeitos colaterais ao modificar o código
  • Prejudica o reaproveitamento de funcionalidades em outros contextos

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com