Prévia do material em texto
Você acertou 1 de 10 questões Verifique o seu desempenho e continue treinando! Você pode refazer o exercício quantas vezes quiser. Verificar Desempenho A B C 1 Marcar para revisão O padrão GoF Proxy consiste em colocarmos entre dois objetos remotos um elemento intermediário que capture a requisição do objeto cliente e a encaminhe pela rede até o objeto destino. Dessa forma, o objeto cliente pode fazer chamadas de operações do objeto destino como se eles estivessem rodando localmente. Qual padrão GRASP está mais diretamente relacionado à solução proposta pelo padrão GoF Proxy? Especialista na Informação. Criador. Controlador. Questão 1 de 10 Corretas (1) Incorretas (9) Em branco (0) 1 2 3 4 5 6 7 8 9 10 Lista de exercícios Padrões… Sair D E A B C Polimorfismo. Indireção. Resposta incorreta Opa! A alternativa correta é a letra E. Confira o gabarito comentado! Gabarito Comentado Sendo uma técnica simples e utilizada em projetos de software, a Indireção pode ser utilizada em diversas situações. Dentre elas, a comunicação entre objetos remotos. ----- 2 Marcar para revisão Assinale a alternativa que apresenta os níveis de acoplamento entre módulos ordenados do mais baixo para o mais alto: Dados - Estrutura - Externo - Controle - Conteúdo - Global Dados - Controle - Estrutura - Externo - Conteúdo - Global Estrutura - Dados - Controle - Conteúdo - Global - Externo D E Dados - Estrutura - Controle - Externo - Global - Conteúdo Estrutura - Dados - Controle - Global - Externo - Conteúdo Resposta incorreta Opa! A alternativa correta é a letra D. Confira o gabarito comentado! Gabarito Comentado A resposta correta é: Dados - Estrutura - Controle - Externo - Global - Conteúdo. O acoplamento entre módulos é uma medida de quão fortemente um módulo está conectado, ou dependente, de outros módulos. A ordem correta, do nível mais baixo para o mais alto, é a seguinte: 1. Acoplamento de dados: ocorre quando um módulo se comunica com outro passando apenas os dados necessários para que o módulo chamado cumpra sua responsabilidade. 2. Acoplamento de estrutura: ocorre quando um módulo chamador passa uma estrutura de dados para um módulo chamado, utilizando apenas um pequeno subconjunto de dados da estrutura. 3. Acoplamento de controle: acontece quando um módulo controla a lógica interna de outro módulo por meio da passagem de alguma informação de controle. 4. Acoplamento externo: ocorre quando módulos compartilham alguma parte do ambiente externo ao software. 5. Acoplamento global: ocorre quando há comunicação por meio de recursos como A B C D E variáveis globais. 6. Acoplamento de conteúdo: ocorre quando um módulo utiliza aspectos de implementação de outro módulo. 3 Marcar para revisão O padrão GoF Mediator reduz uma rede de dependências entre objetos de uma topologia N x N para uma topologia 1 x N, introduzindo um objeto central que recebe as notificações enviadas pelos objetos mediados e encaminha o processamento para os objetos responsáveis. Qual padrão GRASP está diretamente relacionado à estratégia de introduzir um objeto para intermediar a interação entre outros objetos? Indireção Polimorfismo Especialista na Informação Criador Coesão Alta Resposta incorreta Opa! A alternativa correta é a letra A. Confira o gabarito comentado! A B C Gabarito Comentado Sendo uma técnica simples e utilizada em projetos de software, a Indireção pode ser utilizada em diversas situações. Dentre elas, a comunicação entre objetos remotos bem como introduzir uma camada entre o cliente e o fornecedor. 4 Marcar para revisão Assinale a alternativa com uma afirmativa correta sobre o padrão GRASP Variações Protegidas. O padrão Variações Protegidas sugere proteger o sistema de variações concentrando a lógica dessas variações em um módulo controlador. O padrão Variações Protegidas sugere identificar pontos do sistema propensos a variações e isolá-los em um módulo com coesão lógica. O padrão Variações Protegidas sugere proteger o sistema de variações por meio de parâmetros definidos em uma classe com acesso global. D E O padrão Variações Protegidas sugere proteger as variações de algoritmos sensíveis por meio do uso de recursos de criptografia. O padrão Variações Protegidas sugere identificar pontos do sistema propensos a variações e isolá-los com a criação de interfaces no seu entorno. Resposta incorreta Opa! A alternativa correta é a letra E. Confira o gabarito comentado! Gabarito Comentado O padrão GRASP Variações Protegidas é uma técnica de design de software que visa identificar e proteger os pontos de variação de um software. Este padrão aplica conceitos fundamentais de orientação a objetos, como encapsulamento, interfaces e polimorfismo, para isolar esses pontos de variação. A alternativa correta é a que sugere a identificação de pontos do sistema propensos a variações e o isolamento desses pontos por meio da criação de interfaces ao redor deles. Isso permite que as variações sejam gerenciadas de forma eficaz, minimizando o impacto das mudanças no restante do sistema. 5 Marcar para revisão A B C D E Assinale a alternativa que descreve uma situação em que a utilização do padrão Especialista de Informação pode comprometer a coesão de um módulo. Quando definimos uma classe que fornece uma interface de alto nível para módulos clientes utilizarem para disparar operações do negócio. Quando colocamos em uma mesma classe operações de naturezas diferentes como lógica do negócio e acesso a banco de dados, uma vez que eles utilizam as mesmas informações da classe. Quando definimos um objeto intermediário para mediar a comunicação entre objetos remotos. Quando introduzimos uma interface abstrata em substituição a um código centralizado em um módulo com estruturas condicionais do tipo switch- case ou if-then-else. Quando definimos a responsabilidade por criar um objeto para a classe que contém todas as informações necessárias para realizar essa criação. Resposta incorreta Opa! A alternativa correta é a letra B. Confira o gabarito comentado! Gabarito Comentado A B C O padrão Especialista de Informação atribui responsabilidades à classe que possui o conhecimento necessário para realizá-las. No entanto, quando uma mesma classe é responsável por operações de naturezas diferentes, como lógica do negócio e acesso a banco de dados, a coesão do módulo pode ser comprometida. Isso ocorre porque a classe estará sujeita a duas fontes de mudança, o que fere o princípio fundamental da coesão, que preconiza que uma classe ou módulo deve ter uma única responsabilidade. 6 Marcar para revisão Um amigo seu está desenvolvendo um sistema com dezenas de casos de uso. Esse sistema pode ser usado em uma interface web e em um aplicativo móvel. Você o aconselha a criar uma classe para cada caso de uso que ficará responsável por receber os eventos lógicos recebidos dessas interfaces e coordenar a produção das respostas que o sistema deve produzir para esses eventos. Assinale a alternativa com o nome do padrão GRASP descrito na recomendação descrita: Indireção. Criador. Mediador. D E A B Controlador. Polimorfismo. Resposta incorreta Opa! A alternativa correta é a letra D. Confira o gabarito comentado! Gabarito Comentado O controlador é um elemento de lógica de negócio responsável por coordenar a produção da resposta aos eventos lógicos geradas por componentes de interface do sistema com elementos externos. ----- 7 Marcar para revisão Assinale a alternativa CORRETA sobre o padrão GRASP Acoplamento: O acoplamento Global entre dois módulos corresponde a um grau baixo de acoplamento, já que eles não dependem um do outro, mas sim de uma variável global. Quando passamos um objeto com diversos atributos como argumento para um método e este método utiliza apenas um desses atributos no seu processamento,temos um acoplamento de dados. C D E Em um sistema de acoplamento baixo, as mudanças de requisitos tendem a gerar modificações em poucas classes. Um sistema com acoplamento baixo indica que a lógica do sistema está concentrada em poucos módulos, facilitando o seu entendimento. Um sistema que não faz uso do recurso de interfaces abstratas, sendo implementado apenas com classes, tende a ser um sistema com grau de acoplamento baixo. Resposta incorreta Opa! A alternativa correta é a letra C. Confira o gabarito comentado! Gabarito Comentado Acoplamento corresponde ao grau de dependência de um módulo em relação a outros módulos do sistema. Um módulo com acoplamento alto depende de vários outros módulos e tipicamente apresenta problemas. Neste contexto, a mudança em um módulo causa um efeito cascata de mudanças nos módulos dependentes. Assim, o acoplamento baixo, minimiza o impacto de mudanças. Portanto, em sistemas com acoplamento baixo, as mudanças geram impacto em poucas classes, enquanto em sistemas com acoplamento alto, as mudanças geram um efeito dominó com impacto em muitas classes. A B C D E 8 Marcar para revisão "Este padrão substitui soluções condicionais baseadas em switch-case ou if-then-else por uma chamada genérica de operação para um objeto que pode assumir diferentes formas em tempo de execução". Assinale a alternativa com o nome do padrão GRASP correspondente a esta descrição: Acoplamento Baixo. Polimorfismo. Indireção. Especialista na Informação. Controlador. Resposta incorreta Opa! A alternativa correta é a letra B. Confira o gabarito comentado! Gabarito Comentado O padrão GRASP denominado Polimorfismo é o que se encaixa na descrição dada no enunciado. O Polimorfismo permite que um objeto assuma diferentes formas em tempo de execução, substituindo soluções condicionais baseadas em switch-case ou if-then-else por uma chamada genérica de operação. Isso é feito através da criação de uma interface genérica, que pode ter A B C D E diversas implementações específicas. Assim, a estrutura condicional é substituída por uma única chamada feita pela interface genérica, tornando o código mais limpo e eficiente. 9 Marcar para revisão Assinale a alternativa com a afirmativa CORRETA sobre o padrão Criador. O padrão Criador consiste em criar módulos versáteis que possam cumprir diferentes propósitos. O padrão Criador define um conjunto de condições para que uma classe A seja responsável por instanciar objetos de uma classe B. O padrão Criador recomenda que a criação de objetos seja feita por meio de clonagem. O padrão Criador é utilizado para instanciar uma classe de uma família de classes similares. O padrão Criador recomenda a criação de uma classe intermediária responsável por instanciar outros objetos. Resposta correta A B C D E Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado! Gabarito Comentado O padrão Criador é um padrão de design que define um conjunto de condições para que uma classe A seja responsável por instanciar objetos de uma classe B. Isso significa que, em determinadas circunstâncias, a classe A terá a responsabilidade de criar uma instância da classe B. Os outros padrões mencionados nas demais alternativas não se referem ao padrão Criador. 10 Marcar para revisão Assinale a alternativa que contém tipos de coesão de um módulo em ordem do tipo de coesão mais baixa para a mais alta: Temporal - Lógica - Procedural Lógica - Coincidente - Sequencial Procedural - Sequencial - Comunicação Coincidente - Temporal - Sequencial Procedural - Lógica - Funcional Resposta incorreta Opa! A alternativa correta é a letra D. Confira o gabarito comentado! Gabarito Comentado A resposta correta é: Coincidente - Temporal - Sequencial. A coesão de um módulo é determinada pela maneira como os elementos que o compõem são agrupados. A ordem de coesão, do nível mais baixo para o mais alto, é a seguinte: Coincidente, Temporal e Sequencial. A coesão Coincidente ocorre quando os elementos são agrupados de forma arbitrária em um módulo. A coesão Temporal ocorre quando todas as operações são executadas durante a inicialização do sistema. Por fim, a coesão Sequencial ocorre quando os resultados de uma etapa são usados como entrada para a próxima etapa.