Qual é o princípio de separação de responsabilidades defendi...

Próximas questões
Com base no mesmo assunto
Q2171629 Arquitetura de Software
Qual é o princípio de separação de responsabilidades defendido pelo padrão MVC e como ele beneficia a manutenibilidade do software? 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: O critério decisivo é reconhecer o princípio de separação de responsabilidades no MVC como divisão de papéis entre componentes distintos, com o efeito de reduzir a complexidade e facilitar a manutenção; por isso, a alternativa correta deve refletir essa ideia geral sem impor descrição rígida das funções internas das camadas.

Tema central: Separação de responsabilidades no MVC
Análise das alternativas
A
Errada
Está errada porque transforma separação de responsabilidades em independência absoluta entre camadas. No MVC, os componentes têm papéis distintos, mas há interação entre eles; o padrão não exige que uma camada não dependa de outras em nenhuma medida. O erro técnico é confundir modularização com isolamento total.
B
Certa
A alternativa B é a correta porque expressa, em termos gerais, a divisão de responsabilidades entre partes distintas do sistema e vincula isso à redução da complexidade e à facilidade de manutenção. Esse é o ponto cobrado pelo enunciado ao perguntar como o princípio beneficia a manutenibilidade do software. Embora a formulação seja genérica, ela é a que melhor traduz o princípio exigido sem introduzir erro técnico específico sobre as camadas do MVC.
C
Errada
Está errada porque desloca o foco da questão para uma descrição específica das funções de Model, View e Controller, quando o enunciado cobra o princípio geral e seu benefício para a manutenção. A alternativa descreve papéis clássicos próximos ao uso corrente, mas não responde ao critério central pedido pela questão. Pela base, o gabarito oficial privilegia a formulação conceitual geral, não a enumeração funcional das camadas.
D
Errada
Está errada porque introduz segurança como se fosse o princípio central da separação de responsabilidades no MVC. Segurança pode ser uma preocupação transversal do sistema, mas não define o critério arquitetural cobrado na questão. O enunciado pede separação de responsabilidades vinculada à manutenibilidade, não divisão de funções de proteção.
E
Errada
Está errada porque distribui responsabilidades de forma imprecisa: reduz o Model à interação com banco de dados e atribui ao Controller a transformação dos dados para apresentação. Pela base, o Model não se resume à persistência, e essa formulação desloca funções de modo inadequado. Além disso, a alternativa não apresenta corretamente o princípio geral cobrado, mas uma descrição estreita e tecnicamente problemática das camadas.
Pegadinha da questão
A banca explorou a confusão entre o princípio geral de separação de responsabilidades e alternativas mais detalhadas sobre as camadas do MVC. A armadilha foi levar o candidato a preferir uma descrição funcional específica, quando o critério decisivo era identificar a formulação mais geral que relaciona divisão de responsabilidades com redução de complexidade e facilidade de manutenção.
Dica para questões semelhantes
  • Se o enunciado pedir o princípio e o benefício arquitetural, priorize a alternativa que expõe a ideia geral e o efeito na manutenção, não a mais detalhada sobre implementação.
  • Elimine opções que convertam separação de responsabilidades em independência total entre camadas; no MVC há distinção de papéis, não isolamento absoluto.
  • Desconfie de alternativas que reduzam o Model a banco de dados ou desloquem rigidamente funções entre Model, View e Controller.
  • Se aparecer tema como segurança, verifique se ele responde ao ponto cobrado; no MVC, isso não substitui o princípio central de separação de responsabilidades.

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

O princípio de separação de responsabilidades defendido pelo padrão MVC diz que cada camada deve ser responsável por uma única tarefa, o que reduz a complexidade do software e aumenta a facilidade de manutenção.

Clique para visualizar este comentário

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