Buscar

Avaliando Aprendizado + Simulados -Padrões de Projeto de Software 2016.1

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

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

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ê viu 3, do total de 22 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

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

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ê viu 6, do total de 22 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

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

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ê viu 9, do total de 22 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

Prévia do material em texto

1. Qual padrão é de arquitetura? 
 
 
GoF 
 
GRASP 
 MVC 
 
Flower 
 
Gamma 
 
 
2. Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a 
alternativa correta: 
I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes 
comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of 
Responsibility, Command e Interpreter. 
II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente 
envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes 
delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, 
Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de 
objetos, facilitando sua integração e colaboração mútua. 
 
 
Apenas as sentenças II e III estão corretas 
 
Todas as sentenças estão corretas 
 Apenas as sentenças I e III estão corretas 
 
Apenas a sentença II está correta 
 
Apenas as sentenças I e II estão corretas 
 
 
3. O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades 
de objetos, de granularidade fina, de maneira eficiente, é denominado 
 
 
Strategy 
 
Builder 
 
State 
 
Composite 
 Flyweight 
 
4. (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. 
 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. 
 
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. 
 
são aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks. 
 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. 
 
5. Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal 
centralizar o acesso aos dados em uma única camada. Esse design pattern é o 
 
 DAO 
 
MVC 
 
Business Object 
 
DTO 
 
Application Service 
6. A família de padrões GoF é dividida em três grupos principais de padrões, a saber: 
 
 Padrões Comportamentais; Padrões de Criação; Padrões Estruturais 
 
Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação 
 
Padrões Estruturais; Padrões de Processo; Padrões de Responsabilidade 
 
Padrões de Proxy; Padrões de Criação; Padrões de Encadeamento 
 
Padrões de Criação; Padrões Metodológicos; Padrões de Ponte 
 
7. 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 II, III estão corretas e a afirmativa I está errada. 
 
As afirmativas I, III, estão corretas e II errada 
 As afirmativas estão todas corretas 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas I, II, III estão incorretas 
 
8. (CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações 
efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir 
somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os 
demais componentes do sistema. 
Que padrão de projeto pode ser utilizado nesse caso? 
 
 
Visitor. 
 Singleton. 
 
Bridge. 
 
Memento. 
 
Iterator. 
 
9. 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 I, II, III estão incorretas 
 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 estão todas corretas 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
10. 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 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 
 As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 As afirmativas estão todas corretas 
11. Assinale a afirmativa correta sobre o padrão Builder: 
 
 
Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar 
a lógica de criação em uma hierarquia de herança. 
 Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto 
complexo tanto da especificação, quanto das partes que o compõem. 
 
Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda 
distribuir a lógica de criação em vários métodos adicionais. 
 
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais 
condições, fica comprometida 
 é uma abordagem que não facilita a criação de objetos com diferentes configurações e 
representações, tornando o código dependente a complexidade das classes relacionadas 
 
12. 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á-los e aproveitar o seu estado 
atual do que criar um novo objeto no estado inicial. 
 
 
Abstract Factory 
 Prototype 
 
Singleton 
 
Builder 
 
Decorator 
 
13. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e 
Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. 
 
 
O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. 
 
Ambos são padrões estruturais que possuem alguns atributos em comum. 
 
Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. 
 O Adapter é inferior ao Bridge porque não evita a replicação de código. 
 
O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.14. 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 Decorator 
 
Padrão Composite 
 
Padrão Decorator 
 Padrão Adapter 
 
Padrão Flyweight 
 
15. 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: 
 
 
 
Bridge 
 
Composite 
 
Facade 
 Decorator 
 
Adapter 
16. Qual o nome do padrão de projeto que pode ser utilizado para permitir que uma hierarquia de 
abstrações e suas diferentes implementações possam variar independentemente? 
 
 Bridge 
 
Flyweight 
 
Façade 
 
Adapter 
 
Proxy 
 
17. Assinale a alternativa correspondente ao padrão de projeto utilizado para adicionar responsabilidades 
dinâmicas a objetos. 
 
 Decorator 
 
Façade 
 
Bridge 
 
Adapter 
 
Composite 
 
18. O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de 
dados) quando é representado por um Diagrama de Objetos (UML) chama-se: 
 
 Composite 
 TreeView 
 
Decorator 
 
Bridge 
 
Memento 
 
19. O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com 
cautela; Gamma et al (2000). 
São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa 
que NÃO se refere a uma recomendação para uso do padrão Flyweight. 
 
 Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, 
uma vez que estados extrínsecos são removidos. 
 
A aplicação não depende da identidade do objeto. 
 
Uma aplicação utiliza um grande número de objetos. 
 O cliente não precisar conhecer as regras do negócio. 
 
Os custos de armazenamento são altos por causa da grande quantidade de objetos. 
 
20. As principais aplicabilidades do padrão command de projeto são: 
I) permitir fácil inclusão de novos comandos; 
II) permitir tratamento de requisições concorrentes, manter histórico de execução de comandos; 
III) suportar operações para desfazer comandos e; 
IV) evitar o acoplamento direto entre classes e serviços. 
Podemos a firmar com certeza que: 
 
 
As afirmativas I, III, IVestão corretas e II errada. 
 As afirmativas I, II, III e IV estão corretas. 
 
As afirmativas I, II, IV estão corretas e a afirmativa III está errada. 
 
As afirmativas II, III ,IVestão corretas e a afirmativa I está errada. 
 
As afirmativas I, II, III estão erradas e IV correta. 
 
21. Em muitas situações de programação, é possível resolver o problema de acesso a um determinado 
objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples 
utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário 
utilizar um mecanismo mais versátil e sofisticado, por exemplo, 
- para postergar a instanciação de um objeto 
- para controlar o acesso ao mesmo 
- para acessá-lo em uma máquina remota 
- para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais 
apropriada. 
- utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe 
derivada adicional derivada. 
Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima. 
 
 Proxy 
 
Acoplamento 
 
Flyweight 
 
Façade 
 
Coesão 
 
22. (FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar 
grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado 
 
 
Composite. 
 
State. 
 Flyweight. 
 
Builder. 
 
Strategy. 
 
23. (FCC - 2011) No contexto dos padrões de projeto: 
I. Oferecer uma interface simples para uma coleção de classes. 
II. Desacoplar uma abstração de sua implementação para que ambas possam variar 
independentemente. 
Correspondem respectivamente a 
 
 
Adapter e Façade. 
 
Bridge e Adapter. 
 
Composite e Bridge. 
 Façade e Bridge. 
 
Façade e Composite. 
 
24. Os padrões de projetos, quando aplicados ao desenvolvimento de aplicações, fornecem meios de 
descrever soluções comuns para problemas comuns, resultando em redução de tempo gasto com o 
desenvolvimento e melhoria da qualidade da aplicação. 
(FCC - 2009) Analise: 
I. É o responsável pela especificação dos tipos de objetos a serem criados usando uma "instância" 
prototípica e pela criação de novos objetos copiando este protótipo. 
II. Define uma interface de nível mais alto que torna o subsistema mais fácil de usar e fornece uma 
interface única para um subsistema com diversas interfaces; compõe o grupo de padrões estruturais. 
III. Integrante do grupo de padrões comportamentais, ele provê uma forma de acessar 
sequencialmente os elementos de um agregado de objetos, sem expor a representação interna desse 
agregado. 
IV. As consequências do uso deste padrão é que o encapsulamento é mantido, já que objetos usam sua 
própria informação para cumprir responsabilidades; leva ao fraco acoplamento entre objetos e à alta 
coesão, uma vez que objetos fazem tudo que é relacionado à sua própria informação. 
As afirmações correspondem, respectivamente, aos padrões 
 
 
Command, Singleton, Controller e Façade. 
 
Adapter, Façade, Command e Iterator. 
 Prototype, Façade, Iterator e Expert. 
 
Controller, Expert, Singleton e Prototype. 
 
Command, Iterator, Singleton e Expert. 
 
25. A implementação do padrão de projeto Chain of Responsability requer 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. A 
delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especial para 
inserção de novos receptores no final da cadeia existente. 
Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability. 
 
 As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser 
redefinidas em classes abstratas gerando interconexão entre os objetos. 
 Remetente e receptor não têm conhecimento explícito um do outro. 
 
Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação. 
 
Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo 
de execução, adicionando ou removendo objetos. 
 
Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os 
receptores candidatos, eles mantém uma referência única para o sucessor; 
 
26. Analise as sentenças abaixo. 
I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de 
uma gramática procedural. 
II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando 
se tem muitas gramáticas, são difíceis de manter e administrar. 
III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto 
ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). 
IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma 
superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua 
estrutura lógica. 
Marque a opção correta. 
 
 I - II - III 
 II - III -IV 
 
III - IV 
 
I - III - IV 
 
I - II - IV 
 
27. (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? 
 
 
Interpreter. 
 
Decorator. 
 Template Method. 
 
Singleton. 
 
Observer. 
 
28. 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. 
 
 concretas; 
 
com método púbico; 
 
alto acoplamento; 
 
baixa coesão. 
 
Generalizada; 
 
29. São exemplos de Padrões de Projeto Comportamentais: 
 
 Interpreter, Chain of Responsibility e Observer 
 
Mediator, Strategy e Builder 
 
State, Flyweight e Decorator 
 
Singleton, Mediator e Strategy 
 
Command, Composite e Memento 
 
30. (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? 
 
 Template Method. 
 
Observer. 
 
Decorator. 
 
Singleton. 
 
Interpreter. 
 
31. 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: 
 
 
Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de 
implementação 
 
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 
 
É 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. 
 
32. 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. (Gamma et al., 2000). Sobre ele podemos afirmar com toda a certeza: 
 
 
Nesta abordagem o objeto que está realizando a chamada do método precisa conhecer com detalhes a 
implementação em relação asparente ao local, tempo e ao objeto que vai realizar uma determinada 
tarefa 
 
Este padrão de projeto oferece pouca flexibilidade na arquitetura do sistema, uma vez que não permite 
adição de novas funcionalidades 
 
esta abordagem é que o objeto que está realizando a chamada do método precisa conhecer com 
detalhes sobre seu funcionamento. 
 O objetivo do padrão de projeto Command é encapsular chamadas de métodos. 
 
Os métodos, nesta abordagem devem ser padronizados e hierarquizados de forma que a 
implementação trabalhe novos objetos. 
 
33. Considere a seguinte definição: 
 
"Define um objeto que encapsula o modo como um conjunto de objetos interage. Promove um 
acoplamento fraco entre objetos, evitando que referenciem diretamente um ao outro e permitindo que 
se possa variar a interação entre eles de modo independente.(Gamma et al., 2000)" 
 
Marque a alternativa que indica o nome do padrão relacionado: 
 
 
Singleton 
 
Observer 
 Mediator 
 
Strategy 
 
Prototype 
 
34. Assinale dentre as opções abaixo aquela que corresponde ao objetivo do padrão de projeto Command. 
 
 
Disponibilizar o uso do método private. 
 
disponibilizar chamadas de métodos. 
 .encapsular chamadas de métodos. 
 
disponibilizar o acesso aos aobjetos 
 
encapsular chamadas dos objetos; 
 
35. O problema de acessar elementos de coleções, matrizes ou estruturas de dados encadeados é bastante 
recorrente em programação. Assinale dentre as alternativas abaixo,aquela que oferece uma forma de 
percorrer este tipo de objeto agregado, sem conhecer seus detalhes de implementação. 
 
 
Padrão Memento; 
 
Padrão Mediator; 
 
Padrão Proxy; 
 
Padrão Visitor; 
 Padrão Iterator; 
 
 
36. 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 fácil inclusão de novos comandos 
 Permitir em casos excepcionais o acoplamento direto entre classes e serviços; 
 
Manter histórico de execução de comandos; 
 
permitir tratamento de requisições concorrentes; 
 
Evitar o acoplamento direto entre classes e serviços; 
 
37. 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. . 
 
 
padrão bridge; 
 
agreagações; 
 
padrão visitor; 
 
Atributos valorados; 
 condicionais grandes; 
 
38. 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 
 
Observer 
 
Strategy 
 State 
 
Memento 
 
39. 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. 
 
 
State; 
 Visitor; 
 
Criador; 
 
Strategy; 
 
Interpreter 
 
40. considere a definição: 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 (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? 
 
 
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 é permitir que sejam adicionadas novas funcionalidades a classes 
previamente concebidas, sem que haja necessidade de alterar sua implementação. 
 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 queo utiliza. 
 
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; 
 
41. 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? 
 
 
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. 
 
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; 
 O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes 
previamente concebidas, sem que haja 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 
 
42. (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? 
 
 
Dynamic behavior. 
 
Singleton. 
 State. 
 
Composite. 
 
Mediator. 
 
43. qual das afirmativas abaixo não é verdadeira. 
 
 
Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o 
acoplamento permaneça baixo. 
 
acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento 
está conectado ou tem conhecimento de, ou depende de outros elementos. 
 
Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das 
chances de reutilização, além de aumentar a complexidade da aplicação. 
 O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a 
manutenção dos artefatos. 
 
Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de 
requisitos deve ser a menor possível, desta forma se favorece futuras manutenções. 
 
44. Pode-se sucintamente definir o padrão Variation do GRASP como: 
 
 
Criar camadas para melhor organizar a aplicação. 
 
Criar classes altamente coesas. 
 Criar classe que resolva problemas de inconsistência, criando adaptações para saná-las. 
 
Criar classes que permitam sobrecarga e sobreescrita. 
 
Criar classes controladoras. 
 
45. Os 9 padrões definidos pela General Responsability Assignment Software Pattener são? 
 
 
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.Facade. 
 
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.Buider; 5.Bridge; 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. 
 
46. Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de 
modificações em uma aplicação. 
 
 
Observador 
 Acoplamento fraco 
 
Especialista da informação 
 
State 
 
Criador 
 
47. considere as classes e métodos abaixo: E escolha a opção correta sobre a gravura: E escolha a opção 
correta sobre a gravura: 
 
sobre o acoplamento e coesão : 
 
 
Existem acoplamentos das classes que foram gerados de forma desnecessária pois poderiam ser 
incorporados em um único método e isto iria facilitar a manutenção e o entendimento. 
 
O método void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe. 
Não tendo outros médotos o acoplamento não existiria o que é o desejável. 
 
método void imp_NF (cod) não deve ser implementado na classe NF. Obteria-se um projeto melhor se NF 
fosse acoplada a classe Cliente seus métodos incorporados na classe cliente. Pode-se garantir um melhor 
acoplamento 
 
Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o método de 
imprimir nota fiscal, dando-se o código de cliente, pode ser mapeado de forma diferente melhorando-se 
o acoplamento. 
 Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de 
acoplamento é caracterizado por chamada de métodos. 
 
48. Dado o diagrama de sequência especifique o padrão GRASP utilizado: 
 
 
 
Facade 
 
Proxy 
 Information Expert 
 
Decorator 
 
Flyweight 
 
49. Num determinado setor de uma empresa fictícia existem 5 (cinco) funcionários contratados. Todos os 
funcionários são contratados com a mesma carga horária de trabalho prevista. Dois dos cinco 
funcionários produzem o triplo do que produzem os outros colegas de trabalho, pois além de concluir as 
tarefas diárias de sua própria responsabilidade, também executam as tarefas que não são concluídas 
pelos outros colegas. Ao final do expediente é possível observar que os dois funcionários que mais 
trabalham apresentam maior desgaste físico e mental, pois sempre ficam sobrecarregados com 
responsabilidades extras. Fazendo uma analogia com o cenário descrito acima, responda qual 
característica de Projeto O.O. explicaria a situação que ocorre quando uma má distribuição de 
responsabilidades entre 5 classes afeta a colaboração entre os objetos, concentrando responsabilidades 
demais em somente 2 dessas classes. 
 
 
Elevado Polimorfismo 
 Baixa Coesão 
 
Baixo Encapsulamento 
 
Elevado Acoplamento 
 
Elevada Herança 
 
50. O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então 
retorna o resultado é chamada de: 
 
 Funcional; 
 
Recursiva. 
 
Comucacional 
 
Paralela; 
 
Em Canada; 
 
51. 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 controla ou coordena os métodos; 
 
ele coordena ou controla as classes; 
 
ele coordena ou controla as generalizações; 
 
ele coordena ou controla a recursividade; 
 ele coordena ou controla a atividade; 
 
52. O Paradigma Orientado a Objetos com os padrões de responsabilidades GRASP definemque a melhor 
técnica de programação POO é: 
 
 Desenvolver as classes com a maior coesão e menor 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. 
 
Desenvolver as classes com a menor coesão e maior acoplamento possível. 
 
Desenvolver as classes com a maior coesão e maior acoplamento possível. 
 
53. Considere a figura abaixo 
 
E escolha a opção correta sobre a gravura: 
 
 
A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar 
criar uma serie de novas classes. Isto facilita o projeto. 
 
A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua 
criação. 
 
uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não 
podemos ter mais de uma classe de controle por sistema 
 
A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim 
temos que trabalhar com o tipo de coesão resultante (temporal, funcional...) 
 A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E 
isto aumenta a reutilização das classes de negocio. 
 
54. Coesão 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. Os tipos de coesão podem 
ser: 
 
I - Funcional: ocorre quando um módulo executa um e somente um cálculo, e então retorna o 
resultado; 
II - Em camada: ocorre quando uma camada de mais alto nível tem acesso a serviços de camadas mais 
baixas, mas camadas mais baixas, não tem acesso a camadas mais altas. 
III -Comunicacional: todas as operações que tem acesso aos mesmos dados são definidas dentro de 
uma classe. 
IV - Interclasse: Todas as operações devem ser definidas envolvendo outras classes para garantir a 
coesão. 
 
As afirmativas totalmente corretas são 
 
 
As afirmativas I,II,IV estão corretas e a afirmativa III está errada. 
 As afirmativas I,II,III estão corretas e a afirmativa IV está errada. 
 
As afirmativas I,II,III e IV estão corretas. 
 
As afirmativas I,III,IV estão corretas e a afirmativa II está errada. 
 
As afirmativas II,III,IV estão corretas e a afirmativa I está errada. 
 
55. O modelo GoF (Gang of Four) são padrões de projeto de software com 23 modelos (ou soluções) de soluções 
para o desenvolvimento de algoritmos baseados no paradigma orientado a objetos. Esses modelos são 
classificados em subcategorias com propósitos comuns. Sabendo disso, assinale apenas uma das opções 
abaixo que é uma afirmativa verdadeira sobre os padrões GoF: 
 
 Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões Estruturais e Padrões 
Comportamentais. 
 Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões 
Estruturais e Padrões Organizacionais. 
 Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões 
Estruturais e Padrões Comportamentais. 
 Os modelos dos padrões GoF são agrupados em quatros categorias, sendo-as: Padrões de Criação, Padrões 
Estruturais, Padrões Organizacionais e Padrões Comportamentais. 
 Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões de Criação e Padrões 
Comportamentais. 
 
56. Analise as afirmativas abaixo: 
 I. A ideia principal que é atribuída no conceito de Padrões de Projeto de Software é a "reutilização de 
ideias (soluções consolidadas)... Não necessariamente de códigos...". 
 II. A utilização padrões de projeto de software em um projeto de desenvolvimento de programas 
implica na reutilização de códigos prontos feitos por outros desenvolvedores (da empresa ou externos) com 
finalidade de agilizar o processo de conclusão do software. 
 III. Um projeto de desenvolvimento de software que segue padrões de projeto não necessita 
documentar aspectos recorrentes do desenvolvimento do software. 
 IV. O MVC (model-view-controller), GoF (Gang of Four) e 
GRASP (General Responsibility Assignment SoftwarePatterns) são exemplos de padrões de projeto de 
software. 
E assinale a única opção VERDADEIRA acerca das afirmativas acima. 
 
 as afirmações I e IV são verdadeiras. 
 
todas as afirmações são falsas. 
 
todas as afirmações são verdadeiras. 
 
as afirmações I, III e IV são verdadeiras. 
 
as afirmações II e III são verdadeiras. 
 
57. 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 estão todas corretas 
 
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 
 
58. Assinale a afirmativa correta sobre o padrão Builder: 
 
 
Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a 
lógica de criação em uma hierarquia de herança. 
 Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo 
tanto da especificação, quanto das partes que o compõem. 
 
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, 
fica comprometida 
 
Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir 
a lógica de criação em vários métodos adicionais. 
 
é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, 
tornando o código dependente a complexidade das classes relacionadas 
 
59. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e 
Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. 
 
 
O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. 
 
O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. 
 
Ambos são padrões estruturais que possuem alguns atributos em comum. 
 
Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. 
 O Adapter é inferior ao Bridge porque não evita a replicação de código. 
 
60. 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 precisa utilizar uma classe que possui a mesma interface 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 precisar utilizar uma classe que possui interface diferente da classe existente na 
aplicação. 
 
61. Dado o diagrama de classe identifique o padrão GoF estrutual 
 
 
 
Decorator 
 Flyweight 
 
Adapter 
 Bridge 
 
Proxy 
 
62. Dado o diagrama de classeidentifique o padrão GoF estrutual 
 
 
 
Decorator 
 Flyweight 
 
Adapter 
 Bridge 
 
Proxy 
63. (FCC - 2011) No contexto dos padrões de projeto: 
 
I. Oferecer uma interface simples para uma coleção de classes. 
 
II. Desacoplar uma abstração de sua implementação para que ambas possam variar 
independentemente. 
 
Correspondem respectivamente a 
 
 
Façade e Composite. 
 Façade e Bridge. 
 
Bridge e Adapter. 
 
Adapter e Façade. 
 
Composite e Bridge. 
 
64. 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. 
 
 
Chain of Responsability, 
 Template Method 
 
Interpreter; 
 
Flyweight 
 
Proxy; 
 
65. Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. 
 
 
fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como 
os aspectos comportamentais. 
 
identificar as soluções comuns para o problema básico. 
 
entender o padrão de projeto como uma colaboração representada com suas partes estruturais e 
comportamentais. 
 identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. 
 
identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto 
específico e representá-los como parâmetros para colaboração. 
 
66. O padrão Variações protegidas 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. 
 É 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. 
 
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. 
 
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. 
 
 
 
67. 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. 
 
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 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. 
 
É 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. 
 
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. 
 
68. 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. 
 
 
Variações protegidas; 
 
Indireção; 
 Invenção pura; 
 
Proxy; 
 Criador 
 
69. 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 indiretamente acoplados; 
 
impedir que que eles sejam parcialmente acoplados 
 
impedir que que eles não sejam diretamente excluídos; 
 impedir que que eles não sejam diretamente acoplados; 
 permitir que que eles sejam diretamente acoplados; 
 
70. Dentre as opções abaixo assinale aquela que não se constitui em um benefícios da aplicação do padrão 
variações protegidas. 
 
 
as extensões para novas variações são fáceis de adicionar, 
 as extensões para novas variações são difiíceis de adicionar, 
 
o impacto ou custo das modificações pode ser diminuído. 
 
o acoplamento fica mais baixo; 
 
novas implementações são introduzidas sem afetar o cliente, 
 
71. Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: A 
quem atribuir responsabilidades para evitar acoplamento direto entre objetos? 
 
 Indireção 
 
Invenção Pura 
 
Controlador 
 
Polimorfismo 
 
Variações Protegidas 
 
 1a Questão (Ref.: 201509689163) 
Prover uma interface para criar famílias de objetos relacionados ou dependentes sem especificar 
suas classes concretas." . Para qual padrão de projeto a afirmação se relaciona? 
 
 Singleton 
 Abstract Factory 
 
Proxy 
 
Prototype 
 
Nra 
 
 
 
 2a Questão (Ref.: 201509742857) 
Qual padrão é de arquitetura? 
 
 GoF 
 MVC 
 
GRASP 
 
Flower 
 
Gamma 
 
 
 
 3a Questão (Ref.: 201509202899) 
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. 
 
 
 
BUILDER. 
 FACTORY METHOD. 
 
MEDIATOR. 
 
SINGLETON. 
 PROTOTYPE. 
 
 
 
 4a Questão (Ref.: 201509214574) 
(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve 
haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito 
por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no 
atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram 
anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição 
corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo 
pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a 
adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade 
corresponde a criar uma cópia de um pedido a partir de pedido preexistente. 
 
Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo 
GoF (Gang of Four), dentre os listados abaixo? 
 
 Prototype. 
 
Command. 
 
Abstract Factory. 
 
Builder. 
 
Factory Method. 
 
 
 
 5a Questão (Ref.: 201509693181) 
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: 
 
 
 
Adapter 
 Facade 
 
Bridge 
 
Composite 
 Decorator 
 
 
 
 6a Questão(Ref.: 201509854288) 
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 Decorator 
 Padrão Composite 
 
Padrão Decorator 
 Padrão Adapter 
 
Padrão Flyweight 
 Gabarito Comentado. 
 
 
 
 
 7a Questão (Ref.: 201509871245) Pontos: 0,0 / 1,0 
(BNDES - CESGRANRIO 2009) O presidente de uma empresa determinou que fosse disponibilizado um sistema 
de vendas na Internet. No entanto, o software de controle de estoque que deve ser acessado pela aplicação de 
vendas é muito antigo e provê uma API (Application Programming Interface) de uso muito complicado. Para que 
os desenvolvedores possam acessar uma interface mais simples, o arquiteto do sistema pode determinar o uso 
do padrão de projeto 
 
 
Flyweight. 
 Prototype. 
 
Decorator. 
 
Observer. 
 Façade. 
 
 
 
 8a Questão (Ref.: 201509804108) 
O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, 
pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações 
não podem, em momento algum, fazer ___________________________________________________ 
 
 hipóteses ou asserções sobre o contexto no qual o objeto opera. 
 
hipóteses ou asserções sobre fora do contexto no qual o objeto opera. 
 
Acoplamento fraco entre o subsistema e seus clientes. 
 
hipóteses ou exclusões sobre o contexto no qual o objeto opera. 
 
comparações ou associações sobre o contexto no qual o objeto opera. 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201509213878) 
(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. 
 
Interpreter. 
 
Observer. 
 Template Method. 
 
 
 
 10a Questão (Ref.: 201509830934) 
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. 
 
 
Composite 
 Chain Responsability 
 Interpreter 
 
Adapter 
 
Façade 
 
 
 
 
 
 1a Questão (Ref.: 201509210845) Pontos: 1,0 / 1,0 
Podemos afirmar que os Padrões de Criação da família GoF: 
 
 
Subutilizam as rotinas de tratamento de erros, em virtude da depuração de código fonte na fase de 
levantamento das necessidades junto aos usuários. 
 
São projetados para organizar, gerenciar e combinar diferentes comportamentos. 
 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mútua. 
 Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para 
escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. 
 
Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades. 
 
 
 
 2a Questão (Ref.: 201509197241) Pontos: 1,0 / 1,0 
Podemos afirmar que padrões de projeto de software: 
 
 
difcultam a reutilização de projetos e arquiteturas bem sucedidas. 
 permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se 
nivelar com a experiência de outros. 
 
invariavelmente pioram a documentação e a manutenção dos sistemas. 
 
dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, 
aumentando as alternativas que a comprometam. 
 
não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos. 
 
 
 
 3a Questão (Ref.: 201509691917) Pontos: 1,0 / 1,0 
¿Os padrões de criação abstraem o processo de instanciação. Um padrão de criação de classe usa a herança 
para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação 
para outro objeto.¿ Padrões Projeto, 1º edição/2000.Gamma. 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. 
 
 
Facade 
 
Abstract Factory 
 Builder 
 
Factory Method 
 
Singleton 
 
 
 
 4a Questão (Ref.: 201509787966) Pontos: 1,0 / 1,0 
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á-los e aproveitar o seu estado atual do que criar 
um novo objeto no estado inicial. 
 
 
Decorator 
 
Builder 
 
Singleton 
 
Abstract Factory 
 Prototype 
 
 
 
 5a Questão (Ref.: 201509802970) Pontos: 1,0 / 1,0 
Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos 
e não a classe. Uma das opções é utilizar herança, entretanto, esta alternativa é estática. Outra alternativa é 
especificar uma nova classe para implementar cada responsabilidade que se deseja atribuir dinamicamente a 
um dado objeto. Esta nova classe se chama _____________________________. 
 
 
Composite; 
 
Adapter; 
 Decorator; 
 
Associativa; 
 
Beidge; 
 
 
 
 6a Questão (Ref.: 201509214577) Pontos: 1,0 / 1,0 
(CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um 
Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. 
 
 
O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. 
 
Ambos são padrões estruturais que possuem alguns atributos em comum. 
 
Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. 
 O Adapter é inferior ao Bridge porque não evita a replicação de código. 
 
O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. 
 
 
 
 7a Questão (Ref.: 201509214535) Pontos: 1,0 / 1,0 
(FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes 
quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado 
 
 
Builder. 
 Flyweight. 
 
Strategy. 
 
State. 
 
Composite. 
 
 
 
 8a Questão (Ref.: 201509803022) Pontos: 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ênciasentre 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; 
 
Composite; 
 
Decorator 
 
Proxy; 
 
Flyweight 
 Gabarito Comentado. 
 
 
 
 
 9a Questão (Ref.: 201509879941) Pontos: 1,0 / 1,0 
São exemplos de Padrões de Projeto Comportamentais: 
 
 
Command, Composite e Memento 
 
State, Flyweight e Decorator 
 
Mediator, Strategy e Builder 
 Interpreter, Chain of Responsibility e Observer 
 
Singleton, Mediator e Strategy 
 
 
 
 10a Questão (Ref.: 201509214588) Pontos: 1,0 / 1,0 
(FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da 
interface do usuário e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser 
acessada e visualizada através de várias interfaces, sem saber de quantas nem quais interfaces com o usuário 
estão exibindo seu estado, é característica do padrão de projeto arquitetural 
 
 
Creator. 
 Model-View-Controller. 
 
Expert. 
 
Observer. 
 
Layers.

Outros materiais