O padrão de design Controller, parte do conjunto GRASP, tem...
(__) O Controller é responsável por mediar a interação entre a interface do usuário e o modelo de domínio, centralizando a lógica de entrada em um único ponto.
(__) A implementação do padrão Controller em sistemas grandes pode levar a um aumento do acoplamento, comprometendo a modularidade do design.
(__) O padrão Controller é útil para evitar que a lógica de entrada fique espalhada pela interface de usuário, contribuindo para um design mais coeso.
(__) A aplicação incorreta do padrão Controller pode resultar em classes excessivamente carregadas, comprometendo a manutenibilidade do sistema.
A sequência está correta em:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - V − F − V − V.
Tema central da questão: A questão aborda o padrão de design Controller, que é parte dos padrões de design GRASP (General Responsibility Assignment Software Patterns). Este padrão é fundamental para um Analista de Desenvolvimento, pois auxilia na organização da arquitetura de software, especialmente no que diz respeito à responsabilidade de processamento de entrada dentro de um sistema.
Conceito teórico: O padrão Controller tem como objetivo principal centralizar a lógica de entrada em uma única entidade, muitas vezes mediando entre a interface do usuário e o modelo de domínio. Isso promove um design mais coeso e melhora a manutenção do código.
Justificativa da alternativa correta (D):
- (V) Afirmativa 1: O Controller é de fato responsável por mediar a interação entre a interface do usuário e o modelo de domínio, centralizando a lógica de entrada. Isso é um dos princípios básicos do padrão, conforme descrito por Craig Larman em "Applying UML and Patterns".
- (F) Afirmativa 2: A afirmação de que o Controller resulta em aumento de acoplamento e comprometimento da modularidade está incorreta. Quando implementado corretamente, o Controller busca justamente reduzir o acoplamento entre a interface e o modelo. A modularidade é comprometida apenas se o padrão for aplicado incorretamente.
- (V) Afirmativa 3: Esta afirmativa está correta. Ao centralizar a lógica de entrada, o padrão Controller evita que essa lógica fique espalhada pela interface do usuário, contribuindo para um design mais coeso e organizado.
- (V) Afirmativa 4: Aplicar mal o padrão Controller pode, sim, resultar em classes excessivamente carregadas, conhecidas como God Classes, comprometendo a manutenibilidade do sistema. Isso ocorre quando responsabilidades demais são atribuídas ao Controller.
Análise das alternativas incorretas:
Alternativa A - F − F − V − V: A primeira afirmativa está correta, portanto esta sequência é incorreta.
Alternativa B - V − V − V − V: A segunda afirmativa está incorreta, pois sugere um aumento de acoplamento, o que não é o objetivo do padrão Controller.
Alternativa C - V − F − F − F: As afirmativas 3 e 4 estão corretas, tornando esta sequência inválida.
Estratégia para interpretação: Ao lidar com questões que envolvem padrões de design, é crucial entender o propósito fundamental de cada padrão. Preste atenção em palavras que indicam a eficácia ou falhas do padrão, como "acoplamento" e "coesão". Cuidado com afirmações que generalizam os efeitos negativos de um padrão sem considerar o contexto de sua aplicação.
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