Um Engenheiro da Computação atua como um consultor sênior e...

Próximas questões
Com base no mesmo assunto
Q3882864 Engenharia de Software
Um Engenheiro da Computação atua como um consultor sênior em um projeto de lei que exige o desenvolvimento de um sistema de inteligência artificial para prever o impacto fiscal de novas emendas constitucionais. O projeto é de alto risco, alta visibilidade política e tem requisitos evolutivos.
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.
Alternativas

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