Buscar

PADRÕES DE PROJETO DE SOFTWARE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disc.: PADRÕES DE PROJETO DE SOFTWARE 
 
Acertos: 9,0 de 10,0 31/10/2021 
 
 
 
1a 
 Questão 
Acerto: 1,0 / 1,0 
 
(CESGRANRIO - 2008 - BNDES - Profissional Básico - Especialidade - Análise de Sistemas) Ao alterar o 
estado de uma classe, o desenvolvedor deseja que uma ou mais classes da interface gráfica sejam 
modificadas. Entretanto, o desenvolvedor não acha interessante criar um acoplamento forte entre essas 
classes. Qual padrão de projeto comportamental é mais adequado para resolver essa situação? 
 
 Observer 
 
Abstract Factory 
 
Decorator 
 
Adapter 
 
Composite 
 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF 
(Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões 
Estruturais e Padrões Comportamentais. 
 
Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa 
que define a representação. 
 
 
 PROTOTYPE. 
 
FACTORY METHOD. 
 
BUILDER. 
 
MEDIATOR. 
 
SINGLETON. 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: 
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e 
Singleton. 
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas 
para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra 
como estruturar e encapsular essas decisões 
O padrão Prototype por definição ¿Especifica os tipos de objetos a serem criados usando uma instância como protótipo e 
criar novos objetos ao copiar este protótipo¿. Declara um método chamado clone na superclasse abstrata do modelo 
(Prototype). 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
(2016 - COPEVE-UFAL) Na hierarquia dos componentes visuais da biblioteca Java AWT (do inglês, Abstract 
Window Toolkit), há containers e componentes. Containers, tais como os representados pelas classes Frame, 
Panel, Dialog e Applet agregam outros componentes, tais como os representados pelas classes Button e 
Label. Um container pode também conter sub-containers. Logo, um container pode conter containers ou 
componentes. Qual o padrão de projeto que representa a estrutura de relacionamento entre as classes AWT? 
 
 Composite 
 
Chain of Responsability 
 
Observer 
 
Decorator 
 
Strategy 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: 
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, 
facilitando sua integração e colaboração mutua. 
O padrão Composite compõem objetos em estruturas de árvore para representar 
hierarquias todo-parte. Composite permite que clientes tratem objetos individuais e 
composições de objetos de maneira uniforme. 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). 
No entanto, um objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os 
diferentes subsistemas. Uma das maneiras de contornar esse problema é utilizar o padrão de projeto que 
qual forneça uma interface única e simplificada para os recursos e facilidades mais gerais de um subsistema. 
Este padrão de projeto é conhecido como: 
 
 Façade; 
 
Proxy; 
 
Flyweight 
 
Composite; 
 
Decorator 
 
 
 
Gabarito 
Comentado 
 
 
 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=271119101&cod_prova=4955173203&f_cod_disc=CCT0763
https://simulado.estacio.br/bdq_simulados_avaliacao_parcial_resultado.asp?cod_hist_prova=271119101&cod_prova=4955173203&f_cod_disc=CCT0763
(PETROBRAS - CESGRANRIO 2010) Um dos participantes da equipe de desenvolvimento de um framework 
deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa 
operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser 
implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual 
o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na 
implementação da referida operação, dentre os listados a seguir? 
 
 
Decorator. 
 
Singleton. 
 
Observer. 
 Template Method. 
 
Interpreter. 
 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja 
restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este 
padrão de projetos podemos afirma com certeza: 
 
 
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de 
comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. 
 tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar 
essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre 
que for necessário. 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos 
 
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de 
implementação 
 
 
Explicação: 
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões 
Estruturais e Padrões Comportamentais. 
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, 
Memento, Observer, State, Strategy, Template Method e Visitor. 
Esta definição se refere ao Padrão Memento. 
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator. 
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo 
acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que 
for necessário. 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
Dentre as opções abaixo identifique aquela que corresponde ao padrão de projeto, cujo principal objetivo, é 
permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas sem que haja 
necessidade de alterar sua implementação. 
 
 
Criador; 
 
Strategy; 
 
Interpreter 
 Visitor; 
 
State; 
 
 
 
8a 
 Questão 
Acerto: 0,0 / 1,0 
 
 
Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que: 
 
 
 
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a 
Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 
 Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão 
Especialista: a Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 
 Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão 
Especialista: a Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 
 
Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a 
Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 
 
Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra.Padrão 
Especialista: a Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 
 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
No padrão GRASP (General Responsability Assigment Software Patterns), a utilização 
do polimorfismo é recomendada para auxiliar a responder a duas perguntas. Uma delas é: 
Como tratar alternativas com base no tipo? 
Qual afirmativa abaixo se refere a primeira pergunta? 
I- Essa pergunta se refere à utilização de comandos condicionais (if-then-esle ou switch por 
exemplo). 
II- Essa pergunta se refere a, se surgir uma nova regra ou uma nova variação condicional, 
ela exigirá a modificação dos comandos, tornando difícil alterar e estender o programa. 
III- Essa pergunta se refere a relacionamentos do tipo cliente-servidor, não 
necessariamente aplicações em rede, mas com funcionalidades semelhantes, procurando 
destacar a importância de se projetar uma solução que permita alterar o servidor sem 
precisar modificar ou afetar a classe cliente. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente os itens I e II; 
 Somente o item III; 
 Somente o item I; 
 Somente o item II; 
 Somente os itens II e III; 
 
 
Explicação: 
O item III está INCORRETO porque ela se refere a segunda pergunta do padrão 
Polimorfismo, que é: 
Como criar componentes de software interconectáveis? 
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
Que tipo de Padrão GRASP devemos utilizar para o seguinte problema? 
Atribuir responsabilidades apenas para classes do domínio conceitual pode levar à 
situações de maior acoplamento e menos coesão. 
 
 Controlador; 
 Variações Protegidas; 
 Pure Fabrication (Invenção Pura); 
 Acoplamento fraco; 
 Coesão Alta. 
 
 
Explicação: 
Essa resposta está correta para essa solução o Pure Fabrication (Invenção 
Pura) atribui um conjunto altamente coesivo de responsabilidades (ou seja, aquelas 
séries de responsabilidades que são coesas vou atribui-las a) a uma classe artificial 
(ou seja, uma classe que não seja do domínio do negócio) que não representa um 
conceito do domínio do problema (a ser resolvido).

Continue navegando