Pular para o conteúdo principal

Single Responsibility Principle

Uma classe deve ter um, e apenas um, motivo para ser modificada.

Responsabilidade única não é o mesmo que fazer apenas uma coisa. As classes não precisam fazer apenas uma coisa, isso é uma característica dos métodos/funções.

Classes Coesas

Classes coesas têm uma característica semelhante: os conceitos que essas classes representam estariam relacionados e separá-los seria pouco natural. O SRP é uma outra maneira de falar sobre a necessidade de código coeso.

Encontrando classes pouco coesas

Para encontrar classes pouco coesas, devemos procurar por classes que:

  • possuem muitos métodos diferentes;
  • são modificadas com frequência;
  • não param nunca de crescer.

Um dos problemas de coesão mais comuns são Controllers que fazem coisas demais:

  • buscam dados no BD;
  • implementam regras de negócio;
  • enviam emails;
  • chamam Web Services;
  • enviam resultados para a View (o que realmente deveriam fazer).

Referência

  • Desbravando SOLID: Práticas avançadas para códigos de qualidade em Java moderno. Alexandre Aquiles. Casa do Código. Alura.