Buscar

EX Padrões de Projeto

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 57 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

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 6, do total de 57 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

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 9, do total de 57 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

Prévia do material em texto

1a Questão
Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões
Comportamentais cujo objetivo é:
Defende formas de instanciar objetos delegando responsabilidades
Define como implantar o mecanismo de herança em um grupo de objetos
Define formas de gerencia e combinar diferentes comportamentos.
Define como implantar um novo método em uma classe.
Define a forma de organização dos objetos e sua colaboração mutua
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais.
O padrão de comportamental GoF contempla 11 (onze) tipos de padrões: Chain of
Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State,
Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
Têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos
durante a realização de uma tarefa e também são abstrações de aspectos
comportamentais.
Ref.: 201602572978
2a Questão
Softwares são sequencias de instruções a serem seguidas ou executadas que solucionam
problemas modelados através de algoritmos com documentação associada. Quando um
desenvolver projeta um software ele deseja criar um programa com um mínimo de
qualidade. Com base nesse pressuposto, qual única alternativa abaixo que um dos
requisitos de qualidade esperado não se enquadra para software robusto desenvolvido:
Safe (seguro), Maintenance (manutenção) e Optimized (otimizado)
Maintenance (manutenção), Fault tolerance (tolerante a falhas) e Stable (estável)
Safe (seguro), Secure (confiável ) e Stable (estável)
Maintenance (manutenção), Fault tolerance (tolerante a falhas), Secure (confiável ) e
Stable (estável)
Interpreter (interpretável) , Secure (confiável ) e Stable (estável)
Ref.: 201601865359
3a Questão
Sobre padrões de projeto selecione a opção correta sobre as afirmativas abaixo: I - Cada
vez que uma boa solução for encontrada para um dado problema, a mesma deve ser
lapidada, refinada e documentada para uso futuro. II - Padrões de projeto auxiliam
projetistas e desenvolvedores a reutilizar soluções passadas, relacionadas com problemas
são recorrentes em desenvolvimento de software. III ¿ Padrões de projeto são voltados para
a resolução de problemas específicos, tornando os projetos orientados a objetos mais
flexíveis, robustos e confiáveis. Iv ¿ Padrões de projeto não permitem a inovação tendo em
vista que ¿engessam¿ a criatividade do desenvolvedor.
As afirmativas II, III, IV estão corretas e a afirmativa I está errada.
As afirmativas I, II, IV estão corretas e a afirmativa III está errada.
As afirmativas I, III, IV estão corretas e a afirmativa II está errada.
As afirmativas I, II, III estão corretas e a afirmativa IV está errada.
As afirmativas I, II, III, IV estão corretas
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões
Comportamentais. O padrão de criação GoF contempla cinco tipos de padrões: Abstract
Factory, Builder, Factory Method, Prototype e Singleton.
A opção IV está errada porque não há nenhum ¿engessamento¿, isso porque uma das
características de padrões é que Capturam soluções de projeto exaustivamente refinadas
com o passar do tempo e são o resultado de um longo processo de projeto, re-projeto, teste
e reflexão sobre o que torna um sistema mais flexível, reusável e modular.
Ref.: 201602637209
4a Questão
(CESGRANRIO - 2010 - BACEN - Analista do Banco Central) Um arquiteto de software estuda
que padrões de projeto são apropriados para o novo sistema de vendas de uma empresa.
Ele deve considerar que o padrão :
Singleton separa uma abstração de sua implementação, de modo que os dois
conceitos possam variar de modo independente.
Builder garante que uma classe seja instanciada somente uma vez, fornecendo
também um ponto de acesso global.
Bridge separa a construção de um objeto complexo de sua representação, de modo
que o mesmo processo de construção possa criar diferentes representações.
Template Method utiliza compartilhamento para suportar, eficientemente, grandes
quantidades de objetos de granularidade fina.
Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e
seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação.
Ref.: 201602637244
5a Questão
(ESAF - 2005 - Receita Federal - Auditor Fiscal da Receita Federal - Área Tecnologia da
Informação) Analise as seguintes afirmações relacionadas a padrões de projetos: I. O
padrão Builder separa a construção de um objeto complexo de sua representação, de
modo a que o mesmo processo de construção possa criar diferentes representações. II. O
método Abstract Factory fornece uma interface para a criação de uma família de objetos
relacionados ou dependentes sem especifi car suas classes completas. III. O padrão Bridge
defi ne uma interface para criar um objeto, mas deixa as subclasses decidirem que classe
será instanciada. O Bridge permite a uma classe postergar a instanciação das subclasses.
IV. O Chain of responsability usa compartilhamento para suportar grandes quantidades de
objetos e define uma dependência um-para-muitos entre objetos, de modo que quando um
objeto muda de estado, todos os seus dependentes são automaticamente notificados e
atualizados. Indique a opção que contenha todas as afirmações verdadeiras.
II e IV
III e IV
I e III
II e III
I e II
Ref.: 201602626720
6a Questão
¿Padrões de Software são soluções reutilizáveis para problemas reincidentes que ocorrem
durante o desenvolvimento de softwares¿ Gamma, E. (2009)
Associe as colunas e marque a alternativa correta:
Model, View, Control
Padrões Estruturais
Padrões Comportamentais
Padrões de Criação
Padrões GOF
( ) Abstraem o processo de instanciação
( ) Estão divididos em três famílias
( ) Pode diminuir potencialmente o desempenho: a cada camada, as representações dos
objetos sofrem modificações, e essas modificações levam tempo para serem realizadas
( ) Tratam das associações entre classes e objetos
( ) Tratam das interações e divisões de responsabilidades entre as classes ou objetos
5,1,3,2,4
4,5,1,2,3
1,5,2,3,4
4,1,5,3,2
5,1,3,4,2
Ref.: 201602421880
7a Questão
Quanto aos design patterns, é correto afirmar que:
descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira
possível de ser usada por outros.
são conjuntos de classes abstratas e concretas que podem ser adaptadas e
ampliadas para criar sistemas de aplicações.
são projetos concretos que incluem detalhes de implementação.
o maior problema com a utilização dos design patterns é que eles não suportam o uso
de ferramentas CASE e podem trazer erros provenientes da percepção de quem os
criou.
a UML pode ser utilizada para representar frameworks, mas não é tão ampla ao ponto
de oferecer suporte à representação dos design patterns.
Ref.: 201601876573
8a Questão
(FCC-2011) Os design patterns
são de uso exclusivo em processos de desenvolvimento de soluções orientado a
objetos, já que os objetos são a mais adequada abstração para o reúso.
são projetos de arquitetura para um domínio específico de aplicação e sempre trazem
componentes predefinidos que envolvem código de programação.
podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente
de modelar pa- drões de projeto representando-os como colaborações.
são aplicações propriamente ditas, normalmente construídas pela integração de
diversos frameworks.
consistem em conjuntos de classes que um usuário instancia para utilizar seus
métodos. Após a chamada ao método, o controle do fluxo da aplicação retorna para o
usuário.
1a Questão
Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma
determinada classe, os quais só têm alguns poucos estados possíveis e é melhor copiá-lose aproveitar o seu estado atual do que criar um novo objeto no estado inicial.
Singleton
Decorator
Prototype
Abstract Factory
Builder
Ref.: 201601864926
2a Questão
Segundo Metsker, 2004, o padrão de projeto ______________ tem como solução mover a
lógica de construção de uma classe para um objeto externo, a fim de reduzir a
complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa
classe.
Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na
descrição acima.
FACTORY METHOD.
BUILDER.
SINGLETON.
MEDIATOR.
FACADE.
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 Builder tem a função de separar a construção de objeto complexo da
representação para criar representações diferentes com mesmo processo.
O padrão Builder pode ser visto como um construtor especializado, que irá executar e
avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação
de um novo objeto.
Ref.: 201602485692
3a Questão
A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na
linguagem de programação ________ com a utilização da interface Cloneable, utilizada
apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por
atributo, das instâncias da classe. Assinale a opção que complementa corretamente a
lacuna.
C ++;
Qualquer linguagem orientada a objeto.
HTML;
JAVA;
ASSENBLY;
Ref.: 201601864939
4a Questão
Segundo Metsker, o padrão de projeto GoF _________________ é aplicado para substituir a
geração de instâncias não-inicializadas de uma classe, fornecendo novos objetos a partir
de uma classe-exemplo.
SINGLETON.
MEDIATOR.
BUILDER.
FACTORY METHOD.
PROTOTYPE.
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a
CONSTRUÇÃO
Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e
criar novos objetos ao copiar este protótipo.
Ref.: 201601865385
5a Questão
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente
utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está
direcionado para as situações onde precisamos manter uma única instancia de uma classe
durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe
apenas uma classe chamada Singleton, que define um método chamado Instance,
responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java
os modificadores states e private devem garantir uma mesma instância para todos os
objetos criados e evitar acesso público;
As afirmativas II, III estão corretas e a afirmativa I está errada.
As afirmativas I, II, III estão incorretas
As afirmativas I, II, estão corretas e a afirmativa III está errada.
As afirmativas I, III, estão corretas e II errada
As afirmativas estão todas corretas
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
O Singleton é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como
instanciar objetos.
O objetivo do Singleton é garantir que uma classe só tenha uma única instância, e prover
um ponto de acesso global a ela. Os Singletons são uma forma de implementar uma
responsabilidade centralizada. O instanciamento do objeto pode ser feito quando a classe
for carregada ou quando o método de criação for chamado pela primeira vez.
Ref.: 201602485709
6a Questão
Assinale dentre as opções abaixo, qual o padrão de projeto mais conhecidos e
extensivamente utilizados em programação orientada a objetos e que está direcionado
para as situações onde é preciso manter uma única instancia de uma classe durante toda a
execução da aplicação.
Prototipe:
Builder;
Decorator;
Singleton
Composite;
Ref.: 201601865379
7a Questão
Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de
objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar
diferentes regras de negócio e demais particularidades relacionadas com a criação de um
novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra
classe, esta classe irá armazenar todas as configurações e regras necessárias para a
instanciação do novo objeto.
As afirmativas I, II, estão corretas e a afirmativa III está errada.
As afirmativas estão todas corretas
As afirmativas I, III, estão corretas e II errada
As afirmativas II, III estão corretas e a afirmativa I está errada.
As afirmativas I, II, III estão incorretas
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja
responsabilidade é a CONSTRUÇÃO
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar
objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes.
Ref.: 201601865383
8a Questão
Consideram as afirmativa abaixo sobre o padrão protype I - Declara um método chamado
clone na superclasse abstrata do modelo (Prototype). Em função desta declaração, cada
classe concreta derivada deve ser capaz de gerar uma nova instância de si próprio. II - ,
Entre as aplicações para este padrão de projeto está a facilidade de instanciar classes em
tempo de execução. III Quando as instancias de uma classe apresentam poucas
combinações de estados, pode ser mais conveniente definir previamente um conjunto de
protótipos e cloná-los, sempre que foi necessário.
As afirmativas estão todas corretas
As afirmativas II, III estão corretas e a afirmativa I está errada.
As afirmativas I, II, estão corretas e a afirmativa III está errada.
As afirmativas I, II, III estão incorretas
As afirmativas I, III, estão corretas e II errada
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a
CONSTRUÇÃO
Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e
criar novos objetos ao copiar este protótipo.
A estrutura do Prototype cria um objeto novo, mas aproveitar o estado previamente
existente em outro objeto.
Conforme Gamma et al, 2000, Prototyoe especifica os tipos de objetos a serem criados
usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo.
1a Questão
Qual padrão desacopla uma abstração de sua implementação de modo que as duas
possam variar independentemente?
Façade.
Decorator.
Proxy.
Bridge.
Nenhuma das anteriores.
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.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados
estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e
composição, e são abstrações de aspectos estruturais.
O padrãoBridge, desacopla uma abstração de sua implementação, de tal forma que os
dois possam variar independentemente.
Ref.: 201602670556
2a Questão
Qual padrão converte uma interface de uma classe em outra interface e permite que
classes com interfaces incompatíveis trabalhem em conjunto?
Bridge.
Adapter.
Composite.
Decorator.
Nenhuma das anteriores.
Explicação:
O padrão Adpater é bastante utilizado para compatibilizar classes implementadasas por
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir
classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar
implementar novamente todas as funcionalidades e interfaces da classe já existente.
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer
a conexão com a classe já existente (Adapter) com interface diferente da estrutura de
classes que se pretende utilizar no sistema.
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a
complexa implementação realizada, mantém a uniformidade do seu projeto original.
Ref.: 201602448103
3a Questão
Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o
padrão de projeto Adapter?
Um programador precisa de um método que simplifique o acesso a uma hierarquia
de classes.
Um programador precisa ser avisado quando houver alterações no estado de um
objeto.
Um programador precisar utilizar uma classe que possui interface diferente da
classe existente na aplicação.
Um programador precisa de uma classe que possua um método para retornar a
única instância existente da classe.
Um programador precisa utilizar uma classe que possui a mesma interface da classe
existente na aplicação.
Ref.: 201602355239
4a Questão
Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto.
Provê uma alternativa flexível ao uso de herança como mecanismo de extensão de
funcionalidade:
Composite
Decorator
Adapter
Bridge
Facade
Ref.: 201602432973
5a Questão
Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver o problema
com a estrutura apresentada.
JEE
Chain of Responsability
GRASP
Composite
Observer
Ref.: 201602340378
6a Questão
Dado o diagrama de classe identifique o padrão GoF estrutual:
Flyweight
Decorator
Proxy
Facade
Composite
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge,
Composite, Decorator, Façade, Flyweight e Proxy.
Composite: Compor 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.
Ref.: 201602516346
7a Questão
Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para
compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em
momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma
estrutura hierárquica única, sem precisar implementar novamente todas as
funcionalidades e interfaces da classe já existente.
Padrão Adapter
Padrão Decorator
Padrão Decorator
Padrão Flyweight
Padrão Composite
Ref.: 201602432971
8a Questão
Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver
o problema com a estrutura apresentada.
Proxy
GOF
Composite
Singleton
Grasp
1a Questão
Uma empresa tem, dentre outros, um sistema de vendas e outro de controle de estoque.
Supondo que o sistema de vendas necessita utilizar funcionalidades do sistema de controle
de estoque, qual padrão deve ser utilizado para que estas funcionalidades sejam
disponibilizadas?
Fábrica Abstrata
Fachada
Decorator
Singleton
Observer
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 Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para
todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos
que constituem um subsistema.define uma interface a um nível mais elevado, para tornar
um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade
define uma interface de nível mais elevado que torna o subsistema mais fácil de usar.
Ref.: 201602470079
2a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas
para um problema de forma transparente em um conjunto de subsistemas e fornecer uma
resposta imediata.
Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem
inviabilizar sua utilização direta.
Tornar os clientes independentes da complexidade dos diferentes subsistemas de
uma aplicação.
Fazer com que o cliente conheça todas as regras de negócio para que possa realizar
as mudanças.
Ajudar a melhorar portabilidade dos sistemas.
Incentivar acoplamento fraco entre o subsistema e seus clientes.
Ref.: 201602465109
3a Questão
O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de
memória, porém deve ser utilizado com cautela; Gamma et al (2000) recomendam sua
utilização somente quando todas as condições forem verdadeiras. Assinale dentre as
opções abaixo a unica condição que não é verdadeira
Uma aplicação utiliza um grande número de objetos.
A aplicação não depende da identidade do objeto.
Uma aplicação utiliza um pequeno número de objetos.
Os custos de armazenamento são altos por causa da grande quantidade de objetos.
Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos
compartilhados, uma vez que estados extrínsecos são removidos.
Ref.: 201601865377
4a Questão
considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão
todos classificados como Estruturais:
singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton
adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton
singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
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 estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge,
Composite, Decorator, Façade, Flyweight e Proxy.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas
complexas; associados à maneira como classes e objetos são organizados
estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e
composição, e são abstrações de aspectos estruturais.
Seu objetivo é definir caminhos comuns para a organização de diferentes tipos de objetos,
facilitando sua integração e colaboração mútua.
Ref.: 201602465067
5a Questão
A utilização do padrão estrutural de projeto cula ideia é utilizar um substituto para o objeto
real, mantendo a mesma interface do original sempre que for inconveniente, ou
indesejável, acessá-lo diretamente é conhecido como:
Composite.
Façade;
Flyweight
Decorator;
Proxy;
Ref.: 201602340394
6a Questão
Dado o diagrama de classe identifique o padrão GoF estrutual
Adapter
Bridge
Proxy
Flyweight
Decorator
Ref.: 201602670552
7a Questão
Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de
objetos de granularidade fina?
Flyweight.
Nenhuma das anteriores.
Composite.
Bridge.
Façade.
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tiposde padrões: Adapter, Bridge,
Composite, Decorator, Façade, Flyweight e Proxy.
Flyweight é um padrão de projeto de software apropriado quando vários objetos devem ser
manipulados em memória sendo que muitos deles possuem informações repetidas. Dado
que o recurso de memória é limitado, é possível segregar a informação repetida em um
objeto adicional que atenda as características de imutabilidade e comparabilidade (que
consiga ser comparado com outro objeto para determinar se ambos carregam a mesma
informação).
Ref.: 201602465095
8a Questão
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas
para um problema de forma transparente em um conjunto de subsistemas e fornecer uma
resposta imediata para a classe cliente. Assinale dentre as principais vantagens desse
padrão de projeto a única que não é verdadeira.:
Incentivar acoplamento forte entre o subsistema e
seus clientes.
Incentivar acoplamento fraco entre o subsistema e
seus clientes.
Simplificar o acesso a determinadas funcionalidades de
um subsistema, sem inviabilizar sua utilização direta.
judar a melhorar portabilidade dos sistemas.
Tornar os clientes independentes da complexidade dos
diferentes subsistemas de uma aplicação.
1a Questão
Qual padrão se define uma dependência um-para-muitos entre objetos de forma que
quando o objeto muda de estado todos os seus dependentes são notificados e atualizados
automaticamente?
Observer.
Chain of Responsability.
Nenhuma das anteriores.
Memento.
State.
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de
aspectos comportamentais.
O padrão Observer define uma dependência um para muitos, que será necessária para
fazer a relação entre um conjunto de dados e várias representações, além de permitir que,
quando um objeto mude de estado, todos os dependentes sejam notificados.
Ref.: 201602533785
2a Questão
(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?
Singleton.
Interpreter.
Observer.
Template Method.
Decorator.
Ref.: 201602492992
3a Questão
Analise as seguintes sentenças que descreve as características de um padrão de projeto.
Em seguida marque a alternativa que corresponde o padrão de projeto correspondente.
a. Sua aplicação é recomendada naquelas situações em que há necessidade de interpretar
uma linguagem qualquer e, ao mesmo tempo, quando se quer representar sentenças da
linguagem, como árvores abstratas sintáticas.
b. Descreve como projetar um conjunto de classes para representar e interpretar uma
gramática para linguagens simples.
c. A estrutura do padrão sugere que a modelagem do problema seja realizada através de
uma gramática recursiva.
Adapter
Interpreter
Façade
Chain Responsability
Composite
Ref.: 201602485919
4a Questão
Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que
sugere a implementação de um algoritmo que faz uso de diferentes métodos,
diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em
uma superclasse abstrata.
Interpreter;
Template Method
Flyweight
Chain of Responsability,
Proxy;
Ref.: 201601875936
5a Questão
(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?
Observer.
Interpreter.
Singleton.
Template Method.
Decorator.
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á cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e
Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator,
Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando
alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas
subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
Ref.: 201602485917
6a Questão
Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como
uma desvantagens, a obrigatoriedade da definição de ao menos, uma classe para cada
regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e
administrar.
Template Method;
Chain of Responsability;
Proxy;
Façade;
Interpreter;
Ref.: 201602486344
7a Questão
A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente.
Assim, para montar uma cadeia de objetos é necessário especializá-la em que tipo de
classes? Assinale dentre as opções abaixo aquela que está correta.
Generalizada;
alto acoplamento;
com método púbico;
concretas;
baixa coesão.
Ref.: 201602486337
8a Questão
Dentre as opções colocadas abaixo, assinale aquela que corresponde ao padrão de projeto
que requer para sua implementação, que cada objeto receptor de uma determinada
solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de
processar e como passar adiante aquelas que requeiram processamento por outros
receptores
Iterator;
Template Method;
classe Handler;
Mediator;
Chain of Responsability ;
1a Questão
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:
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
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.
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.
Ref.: 201602533781
2a Questão
(UNEAL - COPEVE 2010) Definir um objeto que encapsula a forma como um conjunto de
objetos interage. Promove o acoplamento fraco ao evitar que os objetos se refiram uns aos
outros explicitamente. Qual opção abaixo corresponde à descrição anterior?
Intenção do padrão de projeto command
Intenção do padrão de projeto strategy
Intenção do padrão de projeto proxy
Intenção do padrão de projeto mediator
Intenção do padrão de projeto composite
Ref.: 201602647955
3a Questão
Quando encapsulamos requisições de usuários na forma de objetos estamos utilizando o
padrão de projeto:
Command
Strategy
State
Chain of Responsability
Façade
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de
aspectos comportamentais.
O padrão Command encapsula uma solicitação como um objeto, permitindo a
parametrização de clientes com diferentes solicitações, o enfileiramento e o registro de
solicitações e o suporte a operações que possam ser desfeitas. O objetivo do padrão de
projeto Command é encapsular chamadas de métodos.
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de novos
comandos, permitir tratamento de requisições concorrentes, manter histórico de execução
de comandos, suportar operações para desfazer comandos e, principalmente, evitar o
acoplamento direto entre classes e serviços.
Ref.: 201602670561
4a Questão
Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um
objeto agregado sem expor a sua representação subjacente?
Mediator.
Nenhuma das anteriores.
Chain of Responsability.
Visitor.
Iterator.
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de
aspectos comportamentais.
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto
agregado sequencialmente sem expor sua representação interna.".
Ref.: 201602860050
5a Questão
i) Iterator fornece uma maneira de acessar elementos de um objeto agregado
seqüencialmente, sem expor sua representação interna.
ii) Mediator oferece uma interface única de nível mais elevado para um conjunto de
interfaces de um subsistema.
iii) Observer define uma dependência um-para-muitos entre objetos para que quando um
objeto mudar de estado, os seus dependentes sejam notificados e atualizados
automaticamente.
Em relação aos itens acima está correto:
somente a i e iii
somente a i
somente a ii e iii
somente a i e ii
somente a ii
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O item II está errado porque o padrão Mediator é um padrão define um objeto que
encapsula a forma como um conjunto de objetos interage, promovendo o acoplamento
fraco ao evitar que os objetos se refiram uns aos outros explicitamente, permitindo variar
suas interações independentemente.
Ref.: 201602647993
6a Questão
Qual padrão de projeto GOF é melhor representado pela classe java.sql.ResultSet, a qual
possui os métodos next() e hasnext() e é utilizada para percorrer sequencialmente as
tuplas que representam o retorno de uma consulta no banco de dados.
Command
Visitor
Interpreter
Decorator
Iterator
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de
aspectos comportamentais
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto
agregado sequencialmente sem expor sua representação interna.".
Ref.: 201602493298
7a Questão
Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto
Command.
.encapsular chamadas de métodos.
Disponibilizar o uso do método private.
disponibilizar chamadas de métodos.
encapsular chamadas dos objetos;
disponibilizar o acesso aos aobjetos
Ref.: 201602493327
8a Questão
O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as
opções abaixo a unica que não esta correta. permitir fácil inclusão de novos
comandos,permitir isições concorrentes, manter histórico de execução de comandos,
suportar operações para desfazer comandos e, principalmente, evitar o acoplamento direto
entre classes e serviços. permitir tratamento de requ
Permitir em casos excepcionais o acoplamento direto
entre classes e serviços;
permitir tratamento de requisições concorrentes;
permitir fácil inclusão de novos comandos
Manter histórico de execução de comandos;
Evitar o acoplamento direto entre classes e serviços;
1a Questão
O padrão GoF comportalmental utilizado:
Iterator
Observer
State
Strategy
Memento
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os
intercambiáveis, permitindo assim que os algoritmos variem independentemente dos
clientes que os utilizam.
Ref.: 201602670569
2a Questão
Qual padrão permite a um objeto alterar seu comportamento quando o seu estado interno
muda parecendo que ele alterou sua classe?
Mediator.
Nenhuma das anteriores.
Observer.
State.
Builder.
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter,
Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
State - Permiti a um objeto alterar o seu comportamento quanto o seu estado interno
mudar. O objeto irá aparentar mudar de classe.
Ref.: 201602448123
3a Questão
Marque a alternativa que está relacionada com o padrão de projeto que permite definir
uma nova operação sem mudar as classes dos elementos sobre os quais opera.
Visitor
Strategy
State
Observer
Memento
Ref.: 201601874334
4a Questão
considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de
uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar
as classes dos elementos nos quais a operação atua (Gamma et al., 2000). Qual das
alternativas é completamente verdadeira?
O principal objetivo do padrão acima é permitir que sejam adicionadas novas
funcionalidades a classes previamente concebidas, sem quehaja necessidade de
alterar sua implementação.
O padrão de projeto acima deve ser utilizado não somente quando o
comportamento de um objeto depende do seu estado, podendo ser alterado em
tempo de execução, mas também quando a funcionalidade de um objeto possui
condicionais grandes.
O principal objetivo do padrão acima é conservar as funcionalidades em não se
permita adicionar novas, E obriga que haja necessidade de alterar sua
implementação
O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem
dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos
separados permite que variem e sejam reusados separadamente;
A idéia principal do padrão acima é implementar diferentes algoritmos em uma
hierarquia de classes, onde cada um deles pode ser substituído por outro,
independente do cliente que o utiliza.
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 Visitor.
Memento é um padrão comportamental, assim como os seguintes padrões: command,
iterator, mediator.
O principal objetivo do padrão Visitor é permitir que sejam adicionadas novas
funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar
sua implementação.
O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura
de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos
elementos nos quais a operação atua.
Ref.: 201601876614
5a Questão
(COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa
fielmente um buffer que passa por estados sucessivos de transformação. Em outras
palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e,
possivelmente, pode ficar cheio.
Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se
adequaria para modelar essa característica dinâmica do buffer?
Composite.
Mediator.
Singleton.
State.
Dynamic behavior.
Ref.: 201602485851
6a Questão
O padrão de projeto State deve ser implementado não somente quando o comportamento
de um objeto depende do seu estado, mas também quando a funcionalidade de um objeto
possui _______________; Complete a lacuna com a opção correta. .
agreagações;
Atributos valorados;
padrão visitor;
padrão bridge;
condicionais grandes;
Ref.: 201602493553
7a Questão
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.
Strategy;
State;
Visitor;
Interpreter
Criador;
Ref.: 201602448121
8a Questão
Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado
quando o comportamento de um objeto depende do seu estado e ele pode mudar seu
comportamento em tempo de execução.
Visitor
State
Observer
Strategy
Memento
1a Questão
Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static
Object pilotar() { } } public class Navio { public static Object navegar() { } } public class
Marujo { Navio.navegar(); }
Pure Fabrication
Variation
Indirection
High Coesion
Information Expert
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo
Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
Ref.: 201602339491
2a Questão
Os 9 padrões definidos pela General Responsability Assignment Software Pattener são?
1.Singleton; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis;
6.Information Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information
Expert; 7.Pure Fabrication; 8.Indirection; e 9.Facade.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Buider; 5.Bridge; 6.Information Expert;
7.Pure Fabrication; 8.Indirection; e 9.Variation.
1.Creator; 2.Decoretor; 3.FlyWeight; 4.Controller; 5.Polymorphis; 6.Information
Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
1.Creator; 2.High Coesion; 3.Low Coupling; 4.Controller; 5.Polymorphis; 6.Information
Expert; 7.Pure Fabrication; 8.Indirection; e 9.Variation.
Ref.: 201602637299
3a Questão
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 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 Engenheiro 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.
Ref.: 201602785353
4a Questão
Com relação aos padrões GRASP, assinale a opção correta:
A alta coesão (high cohesion) é um padrão utilizado para aprimorar a ligação entre as
classes, permitindo que a classe A não dependa de outras classes. Esse padrão é
considerado o princípio central e útil em projetos orientados a objetos que utilizam
GRASP.
O controlador (controller) permite solucionar problemas no controle de criação de
instâncias de classes. Nesse sentido, se a classe X contiver dados iniciais da classe Y
ou se X usar de maneira muito próxima Y, caberá a X criar instâncias de Y, em que o
controller representaria o padrão mais indicado para solucionar esse problema.
O criador (creator) é utilizado para a solução do problema de quem cria a instância de
uma classe com objetos do modelo de domínio. Nesse caso, se A registra B, então
atribui-se à classe B a responsabilidade de se criar uma instância de A.
O especialista na informação (information expert) associa-se ao mapeamento de
responsabilidade em que se procura atribuir responsabilidade à classe que tenha
informação necessária para satisfazê-la.
O acoplamento baixo (low coupling) baseia-se na quantidade de ligações entre as
classes e está destinado à atribuição de responsabilidade ao primeiro objeto além da
camada de interface com o usuário, que é responsável por receber ou tratar uma
mensagem de operação do sistema.
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a
objetos.
Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF.
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para
desenvolvimento.
Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF.Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui.
O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade,
quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma
determinada ação.
Ref.: 201602662945
5a Questão
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 Cliente tem a responsabilidade de criar instâncias da classe
Empréstimo. Padrão Especialista: a Classe Empréstimo tem a responsabilidade de
saber quais são as parcelas de um determinado Empréstimo.
Padrão Criador: a Classe Cliente tem a responsabilidade de criar instâncias da classe
Parcela. Padrão Especialista: a Classe Parcela tem a responsabilidade de saber quais
são as parcelas devedoras.
Padrão Criador: a Classe Empréstimo tem a responsabilidade de criar instâncias da
classe Empréstimo. Padrão Especialista: a Classe Parcela tem a responsabilidade de
saber quais são as parcelas de um determinado Empréstimo.
Padrão Criador: a Classe Empréstimo tem a responsabilidade de criar instâncias da
classe Empréstimo. Padrão Especialista: a Classe Empréstimo tem a responsabilidade
de saber quais são as parcelas de um determinado Empréstimo.
Padrão Criador: a Classe Parcela tem a responsabilidade de criar instâncias da classe
Empréstimo. Padrão Especialista: a Classe Parcela tem a responsabilidade de saber
quais são as parcelas devedoras.
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo
Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a
objetos.
Creator (Criador) - O Creator do GoF está focando um problema específico (por exemplo,
encapsulando código), este não, é decidir quem é o responsável por criar determinado
recurso, ou artefato, e escolher quem vai criar.
A criação de objetos é uma das mais comuns atividades em um sistema orientado a
objetos. Descobrir qual classe é responsável por criar objetos é uma propriedade
fundamental da relação entre objetos de classes particulares.
Expert (Especialista da informação) - O que acontece é que o comportamento está
espalhado (estratificado) por toda árvore, em todo o gráfico de classe.
Especialista atribuir responsabilidade ao especialista da informação.
Especialista na informação é um princípio utilizado para determinar onde delegar
responsabilidades. Essas responsabilidades incluem métodos, campos computados, e
assim em diante.
Ele vai escolher os objetos especialistas para ele receber essas responsabilidades.
É o padrão mais usado para atribuir responsabilidades
Ref.: 201602854300
6a Questão
Não é padrão GRASP?
Creator
Low Cohesion
Polymorphism
Indirection
Controller
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a
objetos.
COESÃO - Coesão mede o quanto as responsabilidades de um elemento (classe, objeto,
subsistema,¿) são fortemente relacionadas.
Ref.: 201601874344
7a Questão
Marque a alternativa que apresenta apenas padrões GRASP?
Coesão alta, controlador e polimorfismo
Controlador, polimorfismo e Memento
Coesão alta, polimorfismo, visitor
Observer, visitor, strategy
Coesão alta, controlador, strategy
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Ref.: 201602339502
8a Questão
Pode-se sucintamente definir o padrão Variation do GRASP como:
Criar classe que resolva problemas de inconsistência, criando adaptações para
saná-las.
Criar classes que permitam sobrecarga e sobreescrita.
Criar camadas para melhor organizar a aplicação.
Criar classes altamente coesas.
Criar classes controladoras.
1a Questão
O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definem
que a melhor técnica de programação POO é:
Desenvolver as classes com a maior coesão e maior acoplamento possível.
Desenvolver as classes com a maior coesão e menor acoplamento possível.
Desenvolver as classes com a menor coesão e maior acoplamento possível.
Desenvolver as classes sem coesão e com acoplamento.
Desenvolver as classes com a menor coesão e menor acoplamento possível.
Ref.: 201602785359
2a Questão
Com relação à arquitetura MVC, considere: I. O MODEL representa os dados da empresa e
as regras de negócio que governam o acesso e atualização destes dados. II. O VIEW acessa
os dados da empresa através do MODEL e especifica como esses dados devem ser
apresentados. É de responsabilidade do VIEW manter a consistência em sua apresentação,
quando o MODEL é alterado. III. O CONTROLLER traduz as interações do VIEW em ações a
serem executadas pelo MODEL. Com base na interação do usuário e no resultado das
ações do MODEL, o CONTROLLER responde selecionando uma VIEW adequada. IV. Permite
uma única VIEW para compartilhar o mesmo modelo de dados corporativos em um fluxo de
comunicação sequencial. Está correto o que se afirma em
I e II, apenas.
I, II e III, apenas.
II e III, apenas.
II, III e IV, apenas.
I, II, III e IV.
Explicação:
A afirmativa IV é incorreta porque o padrão de arquitetura MVC (Model-View-Controller) é
uma combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados.
Notifica o View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo
usuário e lê dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e
seleciona View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a
divisão do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller
e a View, executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de
apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces
com o usuário que podem ser modificadas sem que haja a necessidade da alteração das
regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de
reuso das classes.
Ref.: 201602854677
3a Questão
(FCC - 2012) O componente Controller do MVC:
Define o comportamento da aplicação, as ações do usuário para atualizar os
componentes de dados e seleciona os componentes para exibir respostas de
requisições.
É onde são concentradas todas as regras de negócio da aplicação e o acesso aos
dados.
Envia requisições do usuário para o controlador e recebe dados atualizados dos
componentes de acesso a dados.
Responde às solicitações de queries e encapsula o estado da aplicação.
Notifica os componentes de apresentação das mudanças efetuadas nos dados e
expõe a funcionalidade da aplicação.
Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion,
Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a
objetos.
Controller (Controlador) - Padrão bastante utilizado no MVC, no Servlet.
O padrão controlador atribui a responsabilidade de manipular eventos do sistema para
uma classe que não seja de interface do usuário (UI) que representa o cenário global ou
cenário de caso de uso. Um objeto controlador é um objeto de interface não-usuário,
responsável por receber ou manipular um evento do sistema.
Atribuir a responsabilidade do tratamento de um evento do sistema a uma classe que
representa uma das seguintes escolhas:
Representa o ¿sistema¿ todo (controlador fachada)Representa um tratador oficial de todos os eventos de sistema de um caso de uso
(controlador de caso de uso).
Ref.: 201602495452
4a Questão
Um padrão controlador é o primeiro objeto além da camada de interface com o usuário que
é responsável por receber ou tratar uma mensagem de operação do sistema, Este é um
padrão de projeto de delegação, pois, normalmente um controlador deve delegar a outros
objetos o serviço que precisa ser feito. Dentre os conceitos abaixo, assinale aquele que
complementa o objtivo deste padrão.
ele coordena ou controla a recursividade;
ele controla ou coordena os métodos;
ele coordena ou controla as classes;
ele coordena ou controla as generalizações;
ele coordena ou controla a atividade;
Ref.: 201601874393
5a Questão
Marque a alternativa que está relacionada com o padrão GRASP utilizado para conectar a
camada de interface com o usuário e a camada de negócios da aplicação?
Coesão alta
Especialista da informação
Polimorfismo
Baixo acoplamento
Controlador
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Um controlador (controller) é o primeiro objeto além da camada de interface com o usuário
que é responsável por receber ou tratar uma mensagem de operação do sistema. De forma
mais simples, este é um padrão de projeto de delegação, pois, normalmente um
controlador deve delegar a outros objetos o serviço que precisa ser feito; ele coordena ou
controla a atividade.
Ref.: 201602537424
6a Questão
Qual padrão GRASP tem como um de seus objetivos minimizar o impacto na camada de
negócio referente às alterações nos requisitos da interface com o usuário?
Mediador
Especialista da Informação
Indireção
Alta Coesão
Controlador
Ref.: 201602340380
7a Questão
Dado o diagrama de sequência identifique o padrão GRASP
Information Expert
Indirection
Pure Fabrication
Controller
Polymorphis
Explicação:
O padrão controlador atribui a responsabilidade de manipular eventos do sistema para
uma classe que não seja de interface do usuário (UI) que representa o cenário global ou
cenário de caso de uso. Um objeto controlador é um objeto de interface não-usuário,
responsável por receber ou manipular um evento do sistema.
Ref.: 201602647953
8a Questão
São causas comuns de refactoring, exceto:
Forte coesão
Criação de objetos especificando diretamente uma classe concreta
Forte acoplamento
Dependências de algoritmo
Dependência em operações específicas
1a Questão
Marque dentre as opções apresentadas aquela que corresponde ao padrão de projeto que
sugere atribuir um conjunto de responsabilidades altamente coesas a uma classe artificial,
ou de conveniência, que não represente o domínio do problema, algo inventado, para
apoiar coesão alta, acoplamento baixo e reuso.
Invenção pura;
Indireção;
Criador
Variações protegidas;
Proxy;
Ref.: 201601874518
2a Questão
Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte
questão: Como distribuir responsabilidades buscando alcançar Coesão Alta ou
Acoplamento Baixo?
controlador
polimorfismo
Indireção
Invenção Pura
variações protegidas
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Como não há uma classe de domínio de negócio que seria cabível a delegação desse
comportamento, a intenção é, através do padrão Inversão Pura,
A Inversão Pura é utilizada em projetos de software para projetar uma classe que não
pertença ao domínio do problema, mas que ofereça ao projeto coesão alta, acoplamento
baixo e reuso.
Ref.: 201601874533
3a Questão
O padrão Indireção tem como característica:
O objetivo é atribuir responsabilidade a um objeto intermediário para servir como
mediador entre outros componentes ou serviços, para que eles não sejam
diretamente acoplados.
é o primeiro objeto além da camada de interface com o usuário que é responsável por
receber ou tratar uma mensagem de operação do sistema.
implica que um componente ou classe encapsule somente os atributos e operações
muito relacionadas a si e com a classe do componente ou classe propriamente dito.
É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de
variações em um projeto orientado a objetos, tais como: variações nos dados,
comportamento, hardware, componentes de software, sistemas operacionais, entre
outros.
Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe
artificial ou de conveniência que não represente o domínio do problema, algo
inventado, para apoiar coesão alta, acoplamento baixo e reuso.
Explicação:
O objetivo é atribuir responsabilidade a um objeto intermediário para servir como
mediador entre outros componentes ou serviços, para que eles não sejam diretamente
acoplados..
E:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication),
Indireção e Variações Protegidas.
O padrão Indireção resolve problemas como: a quem devemos atribuir a
responsabilidade, evitando o acoplamento direto entre dois ou mais objetos?
e como desacoplar objetos apoiando o Acoplamento Baixo e maximizando o
potencial de reuso?
A solução para isso é atribuir a responsabilidade a um objeto intermediário para mediar as
mensagens entre outros componentes ou serviços, para que não sejam diretamente
acoplados e o objeto intermediário cria uma camada de indireção entre os dois
componentes que não mais dependam um do outro: Ambos dependem da indireção.
A Indireção quer que dois objetos, evite-se o acoplamento direto entre eles.
A ideia é diminuir o acoplamento e manter a coesão.
Ref.: 201601874522
4a Questão
O padrão Invenção Pura tem como característica:
É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de
variações em um projeto orientado a objetos, tais como: variações nos dados,
comportamento, hardware, componentes de software, sistemas operacionais, entre
outros.
é o primeiro objeto além da camada de interface com o usuário que é responsável por
receber ou tratar uma mensagem de operação do sistema.
Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe
artificial ou de conveniência que não represente o domínio do problema, algo
inventado, para apoiar coesão alta, acoplamento baixo e reuso.
O objetivo é atribuir responsabilidade a um objeto intermediário para servir como
mediador entre outros componentes ou serviços, para que eles não sejam
diretamente acoplados.
implica que um componente ou classe encapsule somente os atributos e operações
muito relacionadas a si e com a classe do componente ou classe propriamente dito.
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication),
Indireção e Variações Protegidas.
O padrão Inversão Pura resolve problemas como: Que objeto deve ter a
responsabilidade, quando não se quer violar a Alta Coesão e o Baixo
Acoplamento, mas as soluções oferecidas por Expert não são adequadas? e
Atribuir responsabilidades apenas para classes do domínio conceitual pode
levar à situações de maior acoplamento e menos coesão.
A solução para isso é atribuir 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 (aser resolvido).
Ref.: 201602484582
5a Questão
O padrão de projeto variações protegidas é um princípio básico para fornecer _____________e
_____________ flexibilidade e proteção contra diversos tipos de variações em um projeto
orientado a objetos, Complete as lacunas com a opção correta.
proteção e visibilidade;
flexibilidade e proteção;
flexibilidade, proteção e visibilidade.
flexibilidade e acoplamento;
proteção e coesão;
6a Questão
Dentre as opções abaixo, assinale aquela que sugere onde uma aplicação do padrão de
projeto Invenção Pura deve criar uma nova classe específica para salvar objetos.
em um banco de dados integrado;
em um banco de dados ordenado;
em em um banco de dados hierárquico;
em em um banco de dados relacional.
em um banco de dados homogêneo;
Ref.: 201602484570
7a Questão
O objetivo do padrão de projeto Indireção é atribuir responsabilidade a um objeto
intermediário para servir como mediador entre outros componentes ou serviços, com o
objetivo de?
impedir que que eles sejam parcialmente acoplados
impedir que que eles sejam indiretamente acoplados;
impedir que que eles não sejam diretamente acoplados;
impedir que que eles não sejam diretamente excluídos;
permitir que que eles sejam diretamente acoplados;
Ref.: 201601874506
8a Questão
Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte
questão: como projetar objetos e subsistemas de modo que variações não causem
impactos indesejados?
Variações Protegidas
Invenção Pura
Polimorfismo
Controlador
Indireção
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller,
ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura, Indireção e Variações
Protegidas.
O padrão Variações Protegidas serve para resolver problemas como projetar
objetos, subsistemas e sistemas para que as variações ou instabilidades
nesses elementos não tenham um impacto indesejável nos outros elementos.
Este padrão de projeto é um princípio básico para fornecer flexibilidade e proteção contra
diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos
dados, comportamento, hardware, componentes de software, sistemas operacionais, entre
outros. As variações podem ser ainda divididas em evolutivas e corretivas.

Outros materiais