Um Engenheiro da Computação atua como um consultor sênior e...
Esse Engenheiro está revisando um módulo que viola o princípio de Responsabilidade Única (SRP) do SOLID. O módulo ManipuladorDeVotos é responsável por persistir o voto e por gerar o relatório estatístico do voto.
Assinale a afirmativa correta em relação ao efeito arquitetural primário da violação do SRP nesse cenário.
Comentários
Veja os comentários dos nossos alunos
GABARITO C.
o princípio 'S' prega que cada módulo deve possuir apenas uma responsabilidade (entende-se como método).
veja que o modulo ManipuladorDeVotos tem duas responsabilidades: persistir voto e gerar o relatório estatístico dos votos.
isso cria dois motivos distintos para alterar o mesmo módulo:
-mudanças na regra de persistência (ORM, banco, transação, etc.)
ou
-mudanças na lógica de cálculo ou formatação do relatório.
quando dois aspectos distintos são colocados no mesmo módulo, eles ficam obrigatoriamente acoplados entre si: qualquer mudança em um implica tocar o mesmo artefato, o que reduz a separação de preocupações e aumenta o acoplamento.
Alto Acoplamento: Como a classe faz duas coisas totalmente diferentes, ela precisa "importar" as bibliotecas de banco de dados E as bibliotecas de geração de gráficos/PDF. Ela fica dependente (acoplada) a múltiplos pacotes externos. Pior ainda: o módulo que quer apenas salvar um voto acaba sendo obrigado a "carregar" o código de gerar relatório junto com ele.
Gabarito: C
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo