← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

Padrões GRASP comunicam princípios fundamentais de atribuição de responsabilidades em um projeto orientado a objetos e oferecem soluções idiomáticas que guiam os projetistas na criação de software. De acordo com esses padrões, um princípio fundamental, segundo o qual as responsabilidades são atribuídas em projetos orientado a objetos, é

Gabarito: B

GRASP é um conjunto de princípios usados para distribuir responsabilidades em um projeto orientado a objetos sem virar uma salada de classes. A ideia é ajudar voce a decidir quem faz o quê, buscando um sistema mais coeso, mais fácil de manter e com menos dependências desnecessárias. Nesta questão, a banca cobra o princípio da Information Expert, também chamado de Especialista em Informação. Ele diz que a responsabilidade deve ser atribuída à classe que possui os dados necessários para cumpri-la. Faz sentido prático: quem conhece a informação certa costuma ser o melhor candidato para usá-la sem espalhar lógica pelo sistema inteiro. É por isso que o gabarito é a alternativa B. Se a classe já detém a informação necessária, ela consegue executar a responsabilidade de forma mais natural, reduzindo acoplamento e evitando que outra classe tenha que ficar perguntando tudo para todo mundo. Menos "fofoca entre objetos", mais organização. As demais alternativas vão na contramão dos princípios do GRASP. Elas falam em acoplamento forte, baixa coesão e distribuição exagerada de responsabilidades, que são justamente sinais de um desenho ruim. Em prova, quando aparecer GRASP, pense sempre em coesão, responsabilidade bem distribuída e especialização adequada de cada classe.

Continue treinando

Questões relacionadas