← Questões de Engenharia de Software

Engenharia de Software · FGV · 2022

Questão comentada de Engenharia de Software

Os padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidades em projetos de software orientado a objeto. De acordo com esses padrões, o polimorfismo é um princípio orientador para atribuir responsabilidades

Gabarito: B

Os padrões GRASP ajudam você a decidir quem faz o quê em um sistema orientado a objetos. Eles não são padrões de código prontos, mas princípios de distribuição de responsabilidades. Entre eles, o polimorfismo aparece quando uma responsabilidade precisa variar conforme o tipo do objeto, e a solução mais elegante é deixar cada classe concreta responder do seu jeito, por meio de uma abstração comum. Na prática, isso evita um monte de estruturas cheias de if e switch perguntando "que tipo é você?" a cada momento. Em vez de centralizar a decisão em uma classe controladora, o sistema delega o comportamento para objetos diferentes, todos tratados de forma homogênea. É a velha ideia: o cliente conversa com a interface ou classe base, e cada implementação concreta resolve sua parte. Por isso a alternativa B está correta. Ela descreve exatamente essa atribuição de responsabilidade para classes abstratas que representam um comportamento comum, permitindo lidar com vários tipos sem espalhar regras de decisão pelo sistema. Em GRASP, o polimorfismo é o princípio que orienta a variação de comportamento por meio de interfaces ou herança, reduzindo dependência de condições explícitas. A banca costuma cobrar isso confundindo polimorfismo com controlador, informação especialista ou classes utilitárias. Então guarde a ideia central: se a responsabilidade depende do tipo do objeto, você tende a usar polimorfismo para deixar cada classe fazer sua parte, sem o sistema virar um festival de decisões manuais.

Continue treinando

Questões relacionadas