Digamos que eu tenha uma classe EmailService onde tem todas as operações relacionados ao dominio de email: post, put, delete e get, ela estaria respeitando o SRP ou não? Se não está como eu poderia redesenha-la?
Digamos que eu tenha uma classe EmailService onde tem todas as operações relacionados ao dominio de email: post, put, delete e get, ela estaria respeitando o SRP ou não? Se não está como eu poderia redesenha-la?
Oi Danielle,
Indo bem "ao pé da letra" não estaria respeitando o SRP, pois a classe estaria fazendo mais de uma coisa(cadastrando, atualizando, removendo, etc.)
O jeito então seria ter varias pequenas classes com apenas uma única responsabilidade. Algo como CadastroEmailService
, RemoveEmailService
, etc.
Mas ai vem uma questão importante, será que faz sentido mesmo seguir "a risca" o SRP e ter todas essas pequenas classes?
Tudo acaba sendo uma questão de bom senso no projeto, e eventualmente vamos ferir algum princípio do SOLID ou da orientação a objetos em alguams classes, devendo sempre ponderar as vantanges e desvantagens de cada solução e ver qual faz mais sentido em cada momento. Não existe solução perfeita :)
Bons estudos!