2
respostas

Violação do SRP

Olá pessoal. No caso não seria uma violação ao SRP ao colocarmos regras de negócio dentro de entidades/VOs? Como é visto isso pelos autores de conteúdos referentes a Clean Architecture? Pois validações e regras seriam interessantes de vir em um service ou uma classe que seus objetos não armazenassem estado com valores de atributos que dão características ao objeto.

2 respostas

Olá João, tudo bem?

Excelente pergunta! De fato, colocar regras de negócio dentro de entidades/VOs pode ser considerado uma violação do SRP, já que essas classes estariam assumindo mais de uma responsabilidade.

Uma boa prática em Clean Architecture é separar as regras de negócio em classes separadas, como por exemplo, em services. Dessa forma, as entidades/VOs ficam responsáveis apenas por armazenar os valores dos atributos que dão características ao objeto, sem se preocupar com as validações e regras de negócio.

Essa separação permite uma melhor organização do código e facilita a manutenção do sistema, além de torná-lo mais flexível a mudanças futuras.

Espero ter ajudado a esclarecer sua dúvida.Se tiver mais alguma pergunta, é só perguntar! Bons estudos!

Legal Matheus, era isso mesmo. Aí no caso, teríamos services da camada de domínio para separar essas regras de domínio, e continuariamos tendo services de aplicação (exemplo, envio de e-mail), e por aí vai, correto?