Executando verificação de segurança...
2

Princípio SOLID: Princípio da Responsabilidade Única (SRP)

Olá, Bom Dia.

O Princípio da Responsabilidade Única criado por Robert C. Martin diz que uma classe deve ter uma única responsabilidade ou um único motivo para mudar.

No entanto isso surgiu uma dúvida:

Em meus projetos eu tenho classes que alteram o banco de dados. Tal classes tem como responsabilidade alterar dados do banco, no entanto, essas classes engloba requisições ao banco de Insert, Select, Update e Delete. Desse modo, pode-se dizer que elas estão ferindo o Princípio da Responsabilidade Única?

Carregando publicação patrocinada...
3

Otávio, ótima pergunta! Não saberia responder de forma acadêmica o que é o correto, mas na minha experiência, não vejo isso ferindo o SOLID. Talvez isso vá ferir algo como Clean Architecture, mas acho que foge da sua pergunta.

Uma estratégia que eu tento usar e que falo nesse vídeo é a de manchar a roupa na máquina de lavar. Em resumo, ao lavar a roupa você precisa tomar o cuidado para não colocar roupas que irão se manchar, e você vai aprendendo com a prática e com a evolução do software o que mancha o que.

Aqui no TabNews quando comecei, a única preocupação que eu tinha era em isolar a modelagem e mais nada... nem inversão ou injeção de dependências me preocupei. Eu queria o mais rápido entender quais "peças" o sistema tinha e somente hoje dá para ver quais peças estão certas e com o isolamento certo, e quais peças estão meio estranhas, e dessas estranhas nenhuma está assim pelo fato do que ela faz contra o banco de dados no final das contas, e sim quanto a semântica dela, o que ela dá de pista sobre com o que o sistema é composto e como ele funciona.

2

Olá @filipedeschamps, realmente, no meu caso, não estou aplicando conceitos do Clean Architecture, por isso que talvez possa estar ferindo algo.

Quanto ao seu vídeo, eu achei fantástico a forma que você demonstrou e explicou os conceitos, realmente, foi muito esclarecedor!

Acredito que não esteja ferindo, pois as classes são estáticas, sendo usada apenas para referenciação dos métodos. Desse modo, posso concluir que, assim como você falou, ela não está manchando outras roupas.