O Princípio da Responsabilidade Única (SRP), um dos pilares...
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:
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