O Princípio da Responsabilidade Única (SRP), um dos pilares...

Próximas questões
Com base no mesmo assunto
Q3255747 Engenharia de Software
O Princípio da Responsabilidade Única (SRP), um dos pilares do SOLID, foca em garantir que cada classe ou módulo tenha apenas um motivo para mudar, facilitando a manutenção e a escalabilidade do código. Sobre o SRP, analise as afirmativas a seguir.

I. Uma classe que implementa o Princípio da Responsabilidade Única pode conter múltiplas funcionalidades relacionadas, desde que estejam dentro do mesmo domínio e compartilhem a mesma lógica.
II. A aplicação do Princípio da Responsabilidade Única contribui para a redução do acoplamento entre classes, tornando o código mais modular e flexível a alterações.
III. O Princípio da Responsabilidade Única é particularmente importante em sistemas de grande escala, pois separa responsabilidades de forma a evitar impactos significativos em mudanças futuras.

Está correto o que se afirma em:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: B - II e III, apenas.

O tema central da questão é o Princípio da Responsabilidade Única (SRP), parte dos princípios SOLID da programação orientada a objetos. Este princípio é fundamental para o design de software que procura garantir que cada classe ou módulo no código tenha apenas um motivo para mudar. Tal princípio facilita a manutenção e escalabilidade do software. Para isso, é crucial entender a importância de modularizar corretamente as responsabilidades dentro de um sistema.

Síntese do Princípio da Responsabilidade Única: O SRP afirma que uma classe deve ter apenas uma razão para mudar, significando que cada classe deve ter uma única responsabilidade ou funcionalidade. Segundo Robert C. Martin, o criador dos princípios SOLID, uma responsabilidade é motivo de alteração. Isso reduz o acoplamento e aumenta a coesão do sistema.

Vamos analisar cada afirmativa:

II. A aplicação do Princípio da Responsabilidade Única contribui para a redução do acoplamento entre classes, tornando o código mais modular e flexível a alterações.

Esta afirmativa é correta. Um dos principais objetivos do SRP é justamente a redução do acoplamento, resultando em código mais modular, o que facilita modificações e expansões sem impactar outras partes do sistema.

III. O Princípio da Responsabilidade Única é particularmente importante em sistemas de grande escala, pois separa responsabilidades de forma a evitar impactos significativos em mudanças futuras.

Esta afirmativa também é correta. Em sistemas grandes, é crucial que as classes sejam bem definidas em termos de responsabilidade para minimizar o risco de mudanças em uma parte do sistema afetarem outras partes.

Avaliemos agora a afirmativa incorreta:

I. Uma classe que implementa o Princípio da Responsabilidade Única pode conter múltiplas funcionalidades relacionadas, desde que estejam dentro do mesmo domínio e compartilhem a mesma lógica.

Esta afirmativa está incorreta. O SRP determina que uma classe deve ter uma única responsabilidade, portanto, não pode conter múltiplas funcionalidades, mesmo se relacionadas. Isso contradiz o princípio de que cada classe deve ter um único motivo para mudança.

Ao aplicar o SRP, lembre-se de que este é um dos fundamentos para manter seu código limpo e bem estruturado. A separação adequada de responsabilidades traz benefícios em termos de manutenção, testes e evolução do software.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Análise das afirmativas:

  • I. Incorreta: Uma classe com SRP deve ter apenas um motivo para mudar, o que significa uma única responsabilidade. Múltiplas funcionalidades relacionadas, mesmo no mesmo domínio, podem ser motivos diferentes para mudança, ferindo o princípio.
  • II. Correta: Ao separar responsabilidades, o SRP reduz o acoplamento, tornando as classes mais independentes e flexíveis, facilitando a manutenção e a escalabilidade.
  • III. Correta: Em sistemas grandes, o SRP é vital para evitar que uma alteração em uma regra de negócio cause um efeito cascata, impactando diversas partes do software devido à mistura de responsabilidades

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo