Prévia do material em texto
<p>Você acertou 1 de 7 questões</p><p>Verifique o seu desempenho e continue</p><p>treinando! Você pode refazer o exercício</p><p>quantas vezes quiser.</p><p>Verificar Desempenho</p><p>1 Marcar para revisão</p><p>O trecho de código a seguir apresenta uma</p><p>classe que calcula áreas de várias figuras</p><p>geométricas. Para inserir uma nova figura,</p><p>devemos modificá-la adicionando uma</p><p>operação de cálculo de área correspondente à</p><p>nova figura.</p><p>Questão 1 de 7</p><p>Corretas �1�</p><p>Incorretas �6�</p><p>Em branco �0�</p><p>1 2 3 4 5</p><p>6 7</p><p>Exercicio</p><p>Introdução a Padrões De</p><p>Projeto - Design Patterns</p><p>Sair</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 1/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>Assinale a alternativa que contenha o princípio</p><p>SOLID que está sendo violado por essa</p><p>construção de projeto:</p><p>Princípio Open Closed.</p><p>Princípio da Segregação de Interfaces.</p><p>Princípio da Inversão de</p><p>Dependências.</p><p>Princípio da Responsabilidade Única.</p><p>Princípio de Substituição de Liskov.</p><p>Resposta incorreta</p><p>Opa! A alternativa correta é a letra</p><p>A. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>A resposta certa é: Princípio Open Closed.</p><p>O Princípio Open/Closed afirma que as</p><p>entidades de software (classes, módulos,</p><p>funções, etc.) devem ser abertas para</p><p>extensão, mas fechadas para</p><p>modificação. Isso significa que você deve</p><p>ser capaz de adicionar novas</p><p>funcionalidades a uma entidade de</p><p>software sem alterar o código existente.</p><p>2 Marcar para revisão</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 2/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>Assinale a alternativa que contenha o padrão</p><p>GoF aplicável quando temos diferentes</p><p>implementações de uma operação em que</p><p>alguns passos são comuns e outros são</p><p>específicos de cada implementação.</p><p>Factory Method.</p><p>Facade.</p><p>Adapter.</p><p>Strategy.</p><p>Template Method.</p><p>Resposta incorreta</p><p>Opa! A alternativa correta é a letra</p><p>E. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão GoF que se aplica quando temos</p><p>diferentes implementações de uma</p><p>operação, onde alguns passos são comuns</p><p>e outros são específicos de cada</p><p>implementação, é o Template Method. Este</p><p>padrão de projeto permite definir o</p><p>esqueleto de um algoritmo em uma</p><p>operação, adiando alguns passos para as</p><p>subclasses. Template Method permite que</p><p>subclasses redefinam certos passos de um</p><p>algoritmo sem alterar a estrutura do</p><p>algoritmo.</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 3/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>3 Marcar para revisão</p><p>"Encapsular uma família de algoritmos em um</p><p>conjunto de classes que correspondem a</p><p>diferentes implementações de uma mesma</p><p>funcionalidade". Assinale a opção com o nome</p><p>do padrão que possui esse propósito.</p><p>Factory Method.</p><p>Facade.</p><p>Adapter.</p><p>Strategy.</p><p>Template Method.</p><p>Resposta correta</p><p>Parabéns, você selecionou a</p><p>alternativa correta. Confira o</p><p>gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão Strategy é o que encapsula uma</p><p>família de algoritmos em um conjunto de</p><p>classes que correspondem a diferentes</p><p>implementações de uma mesma</p><p>funcionalidade. Este padrão permite que o</p><p>algoritmo varie independentemente dos</p><p>clientes que o utilizam. Portanto, a</p><p>alternativa correta é a: Strategy.</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 4/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>4 Marcar para revisão</p><p>"Implementar em um único módulo aspectos de</p><p>implementação de interface com o usuário,</p><p>lógica do negócio e acesso a dados". Assinale o</p><p>padrão GRASP que está sendo diretamente</p><p>violado por essa estratégia de implementação.</p><p>Baixo Acoplamento.</p><p>Criador.</p><p>Controlador.</p><p>Polimorfismo.</p><p>Alta Coesão.</p><p>Resposta incorreta</p><p>Opa! A alternativa correta é a letra</p><p>E. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão GRASP que está sendo</p><p>diretamente violado por essa estratégia de</p><p>implementação é a Alta Coesão. A Alta</p><p>Coesão é um princípio de design de</p><p>software que busca garantir que cada</p><p>módulo ou classe de um sistema tenha</p><p>responsabilidades bem definidas e</p><p>limitadas. Ao implementar aspectos de</p><p>interface com o usuário, lógica do negócio</p><p>e acesso a dados em um único módulo,</p><p>estamos violando esse princípio, pois</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 5/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>estamos concentrando muitas</p><p>responsabilidades em um único módulo, o</p><p>que pode levar a problemas de</p><p>manutenção e evolução do software no</p><p>futuro.</p><p>5 Marcar para revisão</p><p>Assinale a alternativa com uma afirmativa</p><p>verdadeira sobre o padrão GRASP Baixo</p><p>Acoplamento:</p><p>Evita a criação de dependências em</p><p>relação a estruturas de código</p><p>condicionais (if-then-else ou switch-</p><p>case)</p><p>Indica a classe mais recomendada</p><p>para instanciar um objeto em uma</p><p>relação de agregado x partes.</p><p>Recomenda que as responsabilidades</p><p>devem ser distribuídas pelos módulos</p><p>de forma que as dependências entre</p><p>eles sejam gerenciáveis.</p><p>Evita a duplicação de algoritmos que</p><p>apresentem a mesma estrutura, com</p><p>alguns pontos de variação entre eles.</p><p>Recomenda que cada módulo deve ter</p><p>uma responsabilidade bem-definida.</p><p>Resposta incorreta</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 6/9</p><p>A</p><p>B</p><p>Opa! A alternativa correta é a letra</p><p>C. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão GRASP Baixo Acoplamento é uma</p><p>diretriz de design que visa minimizar a</p><p>dependência entre diferentes módulos de</p><p>um sistema. A alternativa correta, portanto,</p><p>é a que afirma que este padrão</p><p>"Recomenda que as responsabilidades</p><p>devem ser distribuídas pelos módulos de</p><p>forma que as dependências entre eles</p><p>sejam gerenciáveis". Isso significa que</p><p>cada módulo deve ser projetado de tal</p><p>forma que possa funcionar de maneira</p><p>independente, tanto quanto possível, dos</p><p>outros módulos. Isso facilita a manutenção</p><p>e a evolução do sistema, pois as alterações</p><p>em um módulo têm menos chances de</p><p>afetar os outros.</p><p>6 Marcar para revisão</p><p>A recomendação é: produzir uma solução</p><p>genérica para alternativas baseadas no tipo de</p><p>um elemento, evitando implementações com</p><p>longas expressões condicionais ou clonagem</p><p>de módulos.</p><p>Assinale a opção que contenha o padrão</p><p>GRASP que estabelece essa recomendação de</p><p>projeto:</p><p>Especialista.</p><p>Polimorfismo.</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 7/9</p><p>C</p><p>D</p><p>E</p><p>Controlador.</p><p>Alta Coesão.</p><p>Criador.</p><p>Resposta incorreta</p><p>Opa! A alternativa correta é a letra</p><p>B. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão GRASP que estabelece a</p><p>recomendação de projeto mencionada no</p><p>enunciado é o Polimorfismo. O</p><p>Polimorfismo é um princípio da</p><p>programaç��o orientada a objetos que</p><p>permite que objetos de diferentes classes</p><p>tenham comportamentos diferentes para o</p><p>mesmo método ou operação. Isso permite</p><p>a criação de soluções genéricas para</p><p>alternativas baseadas no tipo de um</p><p>elemento, evitando a necessidade de</p><p>implementações com longas expressões</p><p>condicionais ou clonagem de módulos.</p><p>7 Marcar para revisão</p><p>Assinale a opção que contenha o padrão</p><p>GRASP que possui uma estrutura de solução</p><p>similar ao padrão GoF Facade.</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 8/9</p><p>A</p><p>B</p><p>C</p><p>D</p><p>E</p><p>Criador.</p><p>Baixo Acoplamento.</p><p>Alta Coesão.</p><p>Controlador.</p><p>Polimorfismo.</p><p>Resposta incorreta</p><p>Opa! A alternativa correta é a letra</p><p>D. Confira o gabarito comentado!</p><p>Gabarito Comentado</p><p>O padrão GRASP que possui uma estrutura</p><p>de solução similar ao padrão GoF Facade é</p><p>o Controlador. O padrão Controlador é</p><p>responsável por lidar com eventos do</p><p>sistema. Ele recebe a entrada do usuário e</p><p>a traduz em uma ação a ser realizada pelo</p><p>sistema. Isso é semelhante ao padrão</p><p>Facade do GoF, que fornece uma interface</p><p>unificada para um conjunto de interfaces</p><p>em um subsistema, tornando o subsistema</p><p>mais fácil de ser manipulado.</p><p>21/08/2024, 14:52 estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/</p><p>https://estacio.saladeavaliacoes.com.br/exercicio/66c6292ad4608bb348651923/gabarito/ 9/9</p>