Questão nº 7

Questão de Arquitetura de Desenvolvimento de Software · FGV SEFAZ-AM 2022 - Prova II (nº 7)

FGV2022Analista de Tecnologia da Informação da Fazenda EstadualArquitetura de Desenvolvimento de Software
Gabarito: Bver comentário ↓

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

Resposta comentada

Gabarito Alternativa B

GRASP (General Responsibility Assignment Software Patterns) são princípios que ajudam a decidir qual objeto deve ter qual responsabilidade. O padrão de Polimorfismo dentro do GRASP sugere usar a capacidade de objetos de diferentes tipos responderem a uma mesma mensagem de maneiras distintas para lidar com variações de comportamento.

  • (A) Incorreta: O padrão Polimorfismo não foca em "classes artificiais que não representem nada no domínio" para alta coesão (isso seria mais próximo de Pure Fabrication). Ele lida com variações de comportamento de entidades que podem ou não ter representação direta no domínio.
  • (B) Correta: O polimorfismo é usado para definir uma interface ou classe abstrata que estabelece um comportamento comum. Classes concretas implementam esse comportamento de suas próprias maneiras, permitindo que o sistema interaja com elas de forma uniforme, sem precisar saber o tipo exato de cada objeto.
  • (C) Incorreta: Atribuir responsabilidades a uma "classe controladora global para centralizar o tratamento de todas as mensagens e eventos" é um anti-padrão conhecido como "God Object" ou "Controlador Anêmico". Isso leva a baixo acoplamento e alta coesão, o oposto do que se busca. A armadilha da banca aqui é tentar confundir o padrão GRASP Controller (que atribui responsabilidades de controle de forma específica e limitada) com um controlador global e centralizador, que é prejudicial ao design.
  • (D) Incorreta: Enquanto "classes que têm a informação necessária" se refere ao padrão Information Expert, a ideia de "colaborar para que o acoplamento permaneça alto" é fundamentalmente errada. GRASP e um bom design de software buscam baixo acoplamento, não alto.
  • (E) Incorreta: O polimorfismo em orientação a objetos, como descrito no GRASP, geralmente se aplica a métodos de instância de objetos que podem ser instanciados e que implementam ou sobrescrevem comportamentos. Classes estáticas não são o mecanismo principal para implementar polimorfismo nesse contexto.

Fonte: FGV SEFAZ-AM 2022 - Prova II Analista de Tecnologia da Informação da Fazenda Estadual (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho