Buscar

Banco de Questões CCT 0075

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

1. Qual é propósito de estudar design patterns? 
Obter conhecimento necessário para identificar os aspectos-chave de uma estrutura de 
projeto comum e torná-lo útil para a criação de um projeto orientado a objetos reutilizável, 
ou seja, personalizar objetos e classes para resolver um problema geral de projeto de 
forma que esta solução possa ser usada incontáveis vezes. 
 
2. Descreva os quatro elementos essenciais de um design pattern? 
São eles: 
 Nome Padrão: Procura descrever o problema, a solução e as consequências em 
uma ou duas palavras. 
 Problema: Descreve em que situação aplicar o padrão e em que condições. 
Explica o problema e seu contexto. 
 Solução: Descreve os elementos do padrão, seus relacionamentos, 
responsabilidades e colaborações. 
 Consequências: Apresenta os resultados e a análise das vantagens e 
desvantagens (trade-offs) da aplicação do padrão. Custos e benefícios de se 
aplicar o padrão. 
 
3. O que são design patterns criacionais? 
Envolvem a criação de instancias de objetos, tornam um sistema independente de como 
seus objetos são criados, compostos e representados. 
Classe: Factory Method 
Objetos: 
 Abstract Factory 
 Builder 
 Factory Method 
 Prototype 
 Singleton. 
 
4. O que são designs patterns estruturais? 
Tratam de compor classes e objetos para formar estruturas grandes e complexas, 
associados à maneira como classes e objetos são organizados estruturalmente. 
Eles oferecem formas efetivas para usas conceitos de OO como herança, agregação e 
composição e focam na abstração da estrutura. 
Classe: Class Adapter. 
Objetos: 
 Adapter 
 Bridge 
 Composite 
 Decorator 
 Facade 
 Flyweight 
 Proxy. 
 
5. Oque são designs patterns comportamentais? 
Preocupam-se com a forma como as classes e objetos interagem e com a distribuição 
de responsabilidades e focam na abstração do comportamento. 
Classe: Interpreter Template Method. 
Objetos: 
 Chain of 
Responsibility 
 Command 
 Interpreter 
 Iterator 
 Mediator 
 Memento 
 Observer 
 State 
 Strategy 
 Template Method 
 Visitor 
 
 
 
2 
 
6. Explique como os designs patterns podem ser utilizados especificamente para 
melhor projetar programas de aplicação. 
Os padrões de projetos que reduzem dependências podem aumentar a usabilidade 
interna, sendo assim ele garante que você não projete, nem implemente mais que 
necessita. 
 
7. Explique como os designs patterns podem ser utilizados especificamente para 
melhor projetar toolkits. 
Como sabemos os toolkits são um conjunto de classes relacionadas e utilizáveis, 
projetadas para fornecer uma funcionalidade útil e de finalidade geral, sendo assim se 
empregarmos o designs patterns vamos estar fazendo que ao seguir um padrão, essa 
classe será reutilizada em diversos projetos pois a mesma vai estar entre o mesmo modo 
de conformidade com os demais. 
 
8. O que são frameworks? 
É uma técnica da Orientação a Objetos, voltada para a reutilização que se beneficia de 
três características das linguagens de programação orientadas a objetos: abstração, 
polimorfismo e herança. Um framework descreve a arquitetura de um sistema orientado 
a objetos, os tipos de objetos e as interações entre os mesmos. Ele pode ser vislumbrado 
como o esqueleto – template – de uma aplicação que pode ser customizado pelo 
programador e aplicado a um conjunto de aplicações de um mesmo domínio. Com 
frameworks não se busca apenas reutilizar simples componentes de software, mas 
subsistemas, aumentando assim o grau de reutilização e contribuindo para uma melhor 
qualidade do produto – software. 
 
9. Explique como os designs patterns podem ser utilizados especificamente para 
melhor projetar frameworks. 
Pelo framework ser um conjunto de classes cooperantes que constroem um projeto 
reutilizável para uma determinada categoria de software; ele dita a arquitetura da 
aplicação sendo assim ele define a estrutura geral, sua divisão em classes e objetos e 
em consequência as responsabilidades chaves das classes de objetos, como estas 
colaboram, e o fluxo de controle assim eles enfatizam a reutilização de projetos em 
relação à reutilização de código. Um framework que trato através do uso de padrões de 
projeto tem muito maior probabilidade de atingir altos níveis de reusabilidade de projeto 
e código, comparado com um que não usa. 
 
10. Descreva várias formas de selecionar design patterns apropriados. 
 Considere como padrões de projeto solucionam problemas de projeto. 
 Examine as seções Intenção. 
 Estude como os padrões se inter-relacionam. 
 Estude padrões de finalidade semelhante. 
 Examine uma causa de reformulação de projeto. 
 Considere o que deveria ser variável no seu projeto. 
 
11. Qual é a intenção básica do design pattern 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. 
 
3 
 
12. Repetir a pergunta anterior para os padrões Strategy, Decorator, Abstract 
Factory, Bridge, Command, Iterator, Visitor, Factory Method, Observer, Template 
Method. 
Strategy – Definir uma família de algoritmos, encapsular cada uma delas e torna-las 
intercambiáveis. Permite que o algoritmo varie independentemente dos clientes que o 
utilizam. 
Decorator – Dinamicamente, agregar responsabilidades adicionais a um objeto. 
Fornecem uma alternativa flexível ao uso de subclasses para extensão de 
funcionalidades. 
Abstract Factory – Fornece uma interface para criação de famílias de objetos 
relacionados ou dependentes sem especificar suas classes concretas. 
Bridge – Desacoplar uma aplicação da sua implementação, de modo que as duas 
possam variar independentemente. 
Command – Encapsular uma solicitação como um objeto, desta forma permitindo 
parametrizar clientes com diferentes solicitações, enfileirar ou fazer o registro (log) de 
solicitações e suportar operações que podem ser desfeitas. 
Interator – Fornecer um meio de acessar, sequencialmente, os elementos de um objeto 
agregado sem expor a sua representação subjacente. 
Visitor – Representar uma operação a ser executada nos elementos de uma estrutura 
de objetos. Visitor permite definir uma nova operação sem mudar as classes dos 
elementos sobre os quais opera. 
Factory Method – Definir uma interface para criar um objeto, mas deixar as subclasses 
decidirem que classes instanciar. O Factory Method permite adiar a instanciação para 
subclasses. 
Observer – Definir uma dependência um-para-muitos entre objetos, de maneira que 
quando um objeto muda de estado todos os seus dependentes são notificados e 
atualizados automaticamente. 
Template Method – Definir o esqueleto de um algoritmo em uma operação, postergando 
alguns passos para as subclasses. Permite que subclasses redefinam certos passos de 
algoritmo sem mudar a estrutura do mesmo. 
 
13. Quais são as consequências positivas do uso do design pattern Composite? 
Composite – define hierarquias de classes onde objetos primitivos pode compor objetos 
mais complexos, torna o cliente simples, torna mais fácil acrescentar novas espécies de 
componentes. 
 
 
 
14. Repetir a pergunta anterior para os padrões Strategy, Decorator, Abstract 
Factory, Bridge, Command, Iterator, Visitor, Factory Method, Observer, Template 
Method. 
Strategy – famílias de algoritmos relacionados , alternativa ao uso de subclasses. 
Decorator – Maior aplicabilidade do que a herança estática, evita classes 
sobrecarregadas de características no nível mais alto da hierarquia. 
Abstract Factory – sistema deve ser independente de como seus produtos são criados, 
compostos ou representados.4 
Bridge – desejar evitar um vinculo permanente entre uma abstração e sua 
implementação. 
Command – desacopla o objeto que invoca a operação daquele que sabe como executá-
la. 
Iterator – suporta variações no percurso de um agregado, simplificam a interface do 
agregado. 
Visitor – uma estrutura de objetos contém muitas classes de objetos com interfaces que 
diferem e você deseja executar operações sobre esses objetos que dependem das suas 
classes. 
Factory – Fornece ganchos para subclasses, conecta hierarquias de classes paralelas. 
Observer – acoplamento abstrato entre subject e observer, suporte para comunicação 
do tipo broadcast. 
Template Method – operações concretas e primitivas. 
 
 
15. Quais são as consequências negativas do uso do design pattern Composite? 
O código deve tratar objetos primitivos e objetos recipientes de modo diferente, mesmo 
se na maior parte do tempo o usuário os tratar de forma idêntica. Ter que distinguir entre 
esses objetos torna a aplicação mais complexa. Com o Composite, não se pode confiar 
no sistema de tipos para garantir a obediência de restrições dos componentes. 
 
16. Repetir a pergunta anterior para os padrões Strategy, Decorator, Abstract 
Factory, Bridge, Command, Iterator, Visitor, Factory Method, Observer, Template 
Method. 
Strategy – O cliente deve compreender como Strategies diferem, antes que ele possa 
selecionar o mais apropriado de forma que, os clientes podem ser expostos a detalhes 
e aspectos de implementação. Há também que considerar situações em que o contexto 
criará e iniciará parâmetros que nunca serão usados. E por último, o aumento do número 
de objetos numa aplicação, custo este que as vezes pode ser reduzido pela 
implementação de estratégias como objetos sem estados, que os contextos possam 
compartilhar. 
Decorator – O decorador não é idêntico ao seu componente, fazendo com que não seja 
possível depender da identidade de objetos ao se usar decoradores. Outro ponto 
negativo é a grande quantidade de pequenos objetos parecidos, diferentes apenas na 
forma como são interconectados, e não nas suas classes ou no valor de suas variáveis. 
Esses sistemas podem ser difíceis para aprender e depurar. 
Abstract Factory – É difícil suportar novos tipos de produtos. A interface AbstractFactory 
fixa o conjunto de produtos que podem ser criados. Suportar novos tipos de produto 
exige estender a interface da fábrica, o que envolve mudar a classe Abstractctory e todas 
as suas subclasses. 
Bridge – Não se pode implementar um autêntico padrão bridge com herança múltipla em 
C++, pois esta abordagem usa herança estática (liga uma implementação 
permanentemente à sua interface) 
Command – Acúmulo de erros no processo de desfazer (Histerese) 
Iterator – Como consequências negativas podemos considerar que o iterator não pode 
agir sobre estruturas de objetos com distintos tipos de elementos. Também podemos 
considerar que mais de um percurso pode estar em andamento ao mesmo tempo, 
portanto o iterator deve ser robusto o suficiente para garantir que inserções ou remoções 
não interfiram com o percurso. 
 
5 
Visitor – Rompimento do encapsulamento; a abordagem do padrão Visitor assume que 
a interface de ConcretElement é poderosa o suficiente para permitir aos visitantes 
executarem o seu trabalho. Como resultado, o padrão frequentemente força operações 
públicas que acessam o estado interno de um elemento, o que pode comprometer seu 
encapsulamento. 
Factory Method – Variantes e tópicos específicos em diferentes linguagens; métodos-
fábrica podem ser forçados a introduzir subclasses somente para criar os objetos-
produto apropriados. 
Observer - o custo de uma mudança ao estado de um Source pode ser grande se houver 
muitos Listeners 
 
17. Compare os designs patterns Composite e Decorator. De que forma são 
semelhantes? Diferentes? 
O Composite permite que construa uma estrutura hierárquica de uma forma que 
permite que o código externo visualiza toda a estrutura como uma única entidade 
enquanto que o Decorator permite que uma entidade para conter completamente outra 
entidade. 
 
18. Demonstre como vários designs patterns são usados para encapsular variações. 
O padrão Strategy serve para definir uma família de algoritmos, encapsular cada uma 
delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie 
independentemente dos clientes que o utilizam Em outras palavras, Strategy nos 
permite configurar uma classe com um de vários comportamentos, utilizando o conceito 
de OO chamado de composição. 
 
19. Comente a afirmação: “Design patterns criam um vocabulário comum de projeto”. 
Ele cria esse vocabulário pelo fato que uma vez que se define um padrão o mesmo vai 
ser mantido igual, criando assim a semelhança ou um vocabulário comum. 
 
 
20. Comente a afirmação: “Design patterns ajudam a documentar do projeto”. 
Do mesmo modo que utilizamos o design patterns para podermos utilizar um modelo de 
como programar ele também pode ser compreendido para ajudar a documentar o projeto 
sim. 
 
21. O padrão Modelo-Visão-Controlador (MVC) considera três tipos de classes. 
 
A visão refere-se à entrada e à exibição de informações na Interface com o Usuário. 
O controlador refere-se às classes responsáveis pelo tratamento das requisições vindas 
da interface e seu envio para o Componente de Domínio do Problema, funcionando 
como objetos controladores de casos de uso. Por fim, o modelo refere-se aos objetos de 
domínio, sendo responsáveis pela sua persistência. 
 Marque se afirmação é (V/F) ou Não sei. 
(A) Verdadeiro 
(B) Falso (Resposta correta: B) 
(C) Não sei. 
 
 
6 
22. Em uma aplicação web desenvolvida com Java em três camadas utilizando o 
padrão MVC, as classes Servlet é representada em qual componente? 
(A) Controller (Resposta correta: A). 
(B) View e model. 
(C) Controller e model. 
(D) model. 
(E) View. 
 
23. Em uma aplicação web desenvolvida com Java em três camadas utilizando o 
padrão MVC, as classes no padrão DAO é representada em qual componente? 
(A) Controller 
(B) View e model 
(C) Controller e model 
(D) Model (Resposta correta: D) 
(E) View 
 
 
24. Zavaleta está desenvolvendo uma aplicação web com Java que utiliza o padrão 
MVC. Nessa aplicação, criou as páginas HTML, arquivos CSS e validadores 
JavaScript do componente View e, em seguida passou à criação do componente 
Controller. Nesse componente do MVC, o tipo de classe apropriada que Zavaleta 
deve criar é 
(A) BOAbstract - Business Object 
(B) Servlet (Resposta correta: B) 
(C) JSP 
(D) DAO - Data Access Object 
(E) VO – Value Object 
 
25. 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. (correto) 
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. (correto) 
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. (correto) 
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 
 (A) I, II, III e IV. 
 (B) I, II e III, apenas.(Resposta correta: B) 
 (C) II e III, apenas. 
 (D) II, III e IV, apenas. 
 (E) I e II, apenas. 
 
26. O componente Controller do MVC: 
(A) 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. Resposta correta: A 
(B) Enviarequisições do usuário para o controlador e recebe dados atualizados dos 
componentes de acesso a dados. 
(C) Responde às solicitações de queries e encapsula o estado da aplicação. 
(D) Notifica os componentes de apresentação das mudanças efetuadas nos dados e 
expõe a funcionalidade da aplicação. 
 
7 
(E) É onde são concentradas todas as regras de negócio da aplicação e o acesso aos 
dados. 
 
27. Em uma aplicação web desenvolvida com Java em três camadas utilizando o 
padrão MVC, as servlets e as classes no padrão DAO são representadas, 
respectivamente, nos componentes? 
(A) Controller e View 
(B) View e model 
(C) Controller e model (Resposta correta: C) 
(D) Model e Controller 
(E) View e Controller 
 
28. Considere que a equipe de TI contratada pelo Sr. Hiroshito adotou o MVC como 
padrão de projeto no desenvolvimento do software. Nesse padrão, as classes da 
aplicação que acessam o banco de dados são representadas no componente? 
(A) Controller. 
(B) View. 
(C) Model (resposta correta: C). 
(D) Access 
(E) Business 
 
29. Os padrões de projeto GoF são classificados, como: 
(A) Situacional, Complementar, Estrutural 
(B) Criacional, Evolutivos, Contingentes 
(C) Compartimental, Criacional, Situacional 
(D) Criacional, Comportamental, Estrutural (Resposta correta letra D) 
(E) Estrutural, Criacional, Compartimental 
 
30. Os padrões de projeto (design patterns): 
(A) 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. 
(B) 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. 
(C) podem ser modelados utilizando-se a linguagem UML que fornece um meio 
eficiente de modelar padrões de projeto representando-os como colaborações 
(Resposta correta C). 
(D) 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 reuso. 
 
31. São padrões de projeto GoF, exceto: 
(a) Strategy 
(b) Observer 
(c) DAO (resposta letra c) 
(d) Adpater 
(e) Façade 
 
32. Um objeto “A” precisa executar um método quando o estado do objeto “B” for alterada. Qual 
o padrão GOF deve ser usado? Qual o papel do objeto “B” e do objeto “A” nesse padrão? 
 
8 
O padrão é o ‘Observer’, quando um objeto muda de estado os seus dependentes são notificados 
e atualizados automaticamente, O papel do B é um subject (assunto) e do A observer (obeservador). 
Esse tipo de interação também é conhecido como publish-subscribe. 
 
 
33. Designs patterns não se aplicam, exclusivamente, ao Java, podendo ser empregados em 
projetos que utilizam linguagem C#. 
(A) CERTO (Resposta correta: A) 
(B) ERRADO 
 
34. O(s) padrão(ões) de projeto que se encontram no diagrama (Figura 1) são 
(A) Singleton (Resposta correta: A) 
(B) Strategy e Adapter. 
(C) Adapter e Singleton. 
(D) Strategy. 
 
35. Existe um erro de projeto no diagrama da Figura 1. Ele está 
(A) no construtor da classe A, que é privado, não permitindo que outras classes criem instâncias de 
A. Padrões de Projetos de Software Jorge Zavaleta 
(B) em B e C, que são subclasses de A, porém eles não implementam o método abstrato getA(). 
(C) no trecho de código do método getA(), em que a instrução return a já é suficiente; 
(D) na associação ca, pois C pode ter mais de uma instância de A, porém A não permite. 
(Resposta correta: D) 
 
Figura 1: Diagrama de Padrão 
 
36. Em relação ao padrão Adapter, é correto afirmar: 
(A) a classe Adapter do padrão pode ser implementada através de herança múltipla (em 
linguagens que suportam esse mecanismo). (Resposta correta: A) 
(B) ele adapta duas classes diferentes, de forma que tenham o mesmo conjunto de métodos de 
chamada. 
(C) é útil utilizá-lo quando se precisa adaptar o comportamento de uma classe em tempo de 
execução. 
(D) não há mecanismos de polimorfismo no padrão. Ele possui apenas agregações como forma de 
adaptação. 
 
37. Em relação ao padrão FactoryMethod, é correto afirmar que este 
 
9 
(A) define um método para criação de interfaces sem especificar suas subclasses. 
(B) define uma interface para criação de famílias de objetos sem especificar suas classes concretas. 
(C) define uma interface para criação de objetos, mas deixa subclasses decidirem qual classe 
instanciar. (Resposta correta: C) 
(D) define um método para criação de interfaces e especifica quais classes precisam ser 
instanciadas. 
 
38. Em relação ao padrão Façade, é correto afirmar ser ele útil 
(A) quando se faz necessário criar uma única interface para um conjunto de componentes 
do sistema.(Resposta correta: A) 
(B) para que componentes do sistema com interfaces incompatíveis possam interagir. Padrões de 
Projetos de Software Jorge Zavaleta 
 
39. O conjunto que representa padrões de projeto estruturais é: 
A) Builder, AbstractFactory e Singleton. 
B) Observer, Proxy e Decorator. 
C) State, Adapter e Iterator. 
D) Bridge, Composite e Façade. (Resposta correta: D) 
 
40. O conjunto que representa padrões de projeto comportamentais é: 
A) Mediator, Adapter e Iterator. 
B) Proxy, Composite e Bridge. 
C) Observer, ChainOfResponsibility e Strategy. (Resposta correta: C ) 
D) Visitor, AbstractFactory e State 
 
41. O padrão de projeto singleton é usado para restringir: 
A) a instanciação de uma classe para objetos simples. 
B) a instanciação de uma classe para apenas um objeto. 
(Resposta correta: B) 
C) a quantidade de classes 
D) as relações entre classes e objetos. 
E) classes de atributos complexos. 
 
42. O padrão de projeto Factory provê uma classe de decisão que retorna: 
A) um objeto de uma de suas subclasses, sem fixação de parâmetros. 
B) um atributo de uma de suas classes conexas, com base em um parâmetro reservado. 
C) um objeto de uma de suas subclasses, com base em um parâmetro recebido. 
(Resposta correta:C) 
D) um atributo de uma de suas classes conexas, sem fixação de parâmetros. 
E) um objeto de uma de suas subclasses, com parâmetros fatorados. 
 
43. Os padrões de projeto são classificados nas categorias: 
(A) Situacional. Estrutural. Complementar. 
(B) Criacional. Evolutiva. Contingencial. 
(C) Compartimental. Vinculada. Comportamental. 
(D) Criacional. Step-by-step. Orientada a requisitos. 
(E) Criacional. Estrutural. Comportamental. (Resposta correta letra E) 
 
44. Os designs patterns 
 
10 
A) 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. Padrões de Projetos de Software 
Jorge Zavaleta 
B) 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. 
C) 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 reuso. 
D) são aplicações propriamente ditas, normalmente construídas pela integração de diversos 
frameworks. 
E) podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de 
modelar padrões de projeto representando-os como colaborações. 
(Resposta correta letra E) 
 
 
45. O padrão de projeto conhecido como façade é indicado para a definição de uma interface de 
nível mais alto que torne mais fácil a comunicação entre os subsistemas de um sistema 
complexo. 
A) Certo (Resposta correta letra A) 
B) Errado 
 
46. São padrões de projeto GoF, EXCETO: 
(A) Strategy. 
(B) Workfow. (Resposta correta letra b) 
(C) Adapter. 
(D) Facade. 
 
47. Descrição de conhecimento e experiência acumulados, uma solução bem-sucedidapara um 
problema. Capta a experiência de uma maneira possível de ser reusada por outros. Qual 
opção abaixo corresponde à descrição anterior? 
 
(A) Framework 
(B) Linha de produto de software 
(C) Gerador de programa 
(D) Desenvolvimento baseado em componentes 
(E) Padrão de projeto (Resposta correta) 
 
 
48. Segundo a classificação de Design Patterns apresentada pela GoF, identifique com V os 
padrões comportamentais e com F, os demais. 
( V ) Observer ( V ) Iterator ( F ) Façade. ( F ) Composite ( V ) Visitor. 
A alternativa que contém a sequência correta, é a: 
 
(A) F V V V F 
(B) F F V V V 
(C) V F F V F 
(D) V V F F V (Resposta correta letra d) 
(E) V V V V V 
 
 
 
 
 
 
 
11 
Sobre padrões de projeto não é correto afirmar: 
– a) Garantia de aderência a padrões e arquitetura, aumentando a qualidade do produto gerado. 
– b) Portabilidade: aumentando o reuso de componentes e modelos; 
– c) Interoperabilidade: garantindo que padrões baseados em múltiplas tecnologias implementem 
funções de negócio cooperativas; 
– d) Foco da equipe de desenvolvimento de aplicações em aspectos de negócio ao invés de 
aspectos técnicos; 
– e) Aumento de prazos e custos, decorrente da perda de produtividade proporcionada pela elevada 
geração de código decorrente; 
 
Sobre padrões de projeto não é correto afirmar: 
 
– a) Padrões são comuns em várias áreas da engenharia; 
– b) Cada padrão descreve um problema que ocorre repetidamente de novo e de novo em nosso 
ambiente, e então descreve a parte central da solução para aquele problema de uma forma que 
você pode usar novamente esta solução 
– c) Não é um código final, é uma descrição ou modelo de como resolver o problema do qual trata 
– d) Tem-se um vocabulário comum para conversar sobre projetos de software 
– e) Dificultam o reuso, uma vez que não implica em um código final. 
 
Que padrão de design pode ser usado para permitir que uma implementação específica e 
uma hierarquia de abstrações possa variar independentemente? 
– a) Adapter 
– b) Proxy 
– c) Façade 
– d) Bridge 
– e) Flyweight 
 
O acesso a um objeto concreto será através da interface conhecida através de sua superclasse e 
o cliente não precisa ou não pode saber qual implementação concreta está usando. De que 
padrão estamos falando? 
– a) Builder 
– b) Prototype 
– c) Abstract Factory 
– d) Factory Method 
– e) State 
 
 
Qual o padrão de design que permite encapsularinstruções em objetos para que um cliente possa 
executar uma ação usando o mesmo método sem precisar saber exatamente qual ação está sendo 
executada? 
– a) Strategy 
– b) State 
– c) Command 
– d) Factory Method 
– e) Template Method 
 
 
Que padrão de design abaixo pode ser utilizado quando existe a necessidade de lidar com uma 
grande quantidade de objetos e a possibilidade de se reutilizar instâncias para tornar mais eficiente 
a utilização de recursos (por exemplo, na implementação de um cache)? 
– a) Adapter 
– b) Proxy 
 
12 
– c) Façade 
– d) Bridge 
– e) Flyweight 
 
Qual das situações abaixo é o cenário típico onde poderia ser utilizado um Façade? 
– a) Um cliente precisa de uma interface que é diferente da interface fornecida pela classe existente 
– b) Um cliente precisa de uma interface idêntica à da classe existente mas não tem acesso direto 
a ela 
– c) Um cliente precisa de uma interface que simplifique o acesso a uma hierarquia de classes 
– d) Um cliente precisa de uma interface que retorne uma única instância de uma classe existente 
– e) Um cliente precisa ser notificado sobre alterações no estado de objetos 
 
Qual das situações abaixo é o cenário típico onde poderia ser utilizado um Singleton? 
– a) Um cliente precisa de uma interface que é diferente da interface fornecida pela classe existente 
– b) Um cliente precisa de uma interface idêntica à da classe existente mas não tem acesso direto 
a ela 
– c) Um cliente precisa de uma interface que simplifique o acesso a uma hierarquia de classes 
– d) Um cliente precisa de uma interface que retorne a única instância de uma classe existente 
– e) Um cliente precisa ser notificado sobre alterações no estado de objetos 
 
 
Qual das situações abaixo é o cenário típico onde poderia ser utilizado um Adapter? 
– a) Um cliente precisa de uma interface que é diferente da fornecida pela classe existente 
– b) Um cliente precisa de uma interface idêntica à da classe existente mas não tem acesso direto 
a ela 
– c) Um cliente precisa de uma interface que simplifique o acesso a uma hierarquia de classes 
– d) Um cliente precisa de uma interface que retorne a única instância de uma classe existente 
– e) Um cliente precisa ser notificado sobre alterações no estado de objetos 
 
Qual das situações abaixo é o cenário típico onde poderia ser utilizado um Proxy? 
– a) Um cliente precisa de uma interface que é diferente da interface fornecida pela classe existente 
– b) Um cliente precisa de uma interface idêntica à da classe existente mas não tem acesso direto 
a ela 
– c) Um cliente precisa de uma interface que simplifique o acesso a uma hierarquia de classes 
– d) Um cliente precisa de uma interface que retorne a única instância de uma classe existente 
– e) Um cliente precisa ser notificado sobre alterações no estado de objetos 
 
Que padrão de design pode ser usado para garantir que um objeto só tenha uma única 
instância? 
– a) Façade 
– b) Abstract Factory 
– c) Factory Method 
– d) Iterator 
– e) Singleton 
 
Que padrão de design é implementado pelas classes da API Java java.io: FileInputStream, 
ObjectInputStream e GZIPInputStream que permitem ler bytes de um arquivo e transformar 
os dados durante a leitura para obtê-los já descomprimidos e instanciados como objetos? 
– a) Decorator 
– b) Memento 
– c) Visitor 
– d) Prototype 
– e) Singleton 
 
13 
 
 
Utilizar um objeto já instanciado e pré-configurado para criar novos objetos podendo aproveitar o 
estado existente naquele objeto. De que padrão estamos falando? 
– a) Builder 
– b) State 
– c) Prototype 
– d) Abstract Factory 
– e) Template Method 
 
 
 
 
 
 
 
 
 
14 
 
 
 
 
 
 
 
 
 
15 
 
 
 
 
 
 
 
 
 
16 
 
 
 
 
 
 
 
17 
 
 
 
 
18 
 
 
 
 
 
 
19 
 
 
 
 
 
 
20 
 
 
 
 
 
 
21 
 
 
 
 
1) (FCC-2011) Os design patterns 
 
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. 
 
2) (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 Adapter é inferior ao Bridge 
porque não evita a replicação de 
código. 
 
22 
 
3) (FCC-2011) Para modelar sistemas que utilizam componentes reutilizáveis podem ser utilizados 
dois tipos de padrões de interesse - os design patterns e os frameworks. Com relação ao tema, 
considere as asserções a seguir. 
Nas aplicações Java EE, o design pattern JavaServer Faces utiliza o framework MVC para 
representar o fluxo sequencial de comunicação entre as camadas. O MVC permite representar e 
entender a comunicação existente entre os componentes da aplicação 
PORQUE 
quando se utiliza o MVC em aplicações web desenvolvidas com Java, a requisição do cliente é 
normalmente interceptada por uma servlet de controle (Controller). Essa servlet manipula o 
processamento inicial da requisição, acessa os componentes do modelo (Model) e geralmente 
determina qual será a página (View) que irá mostrar o conteúdo de resposta da requisição. 
 
A primeira asserção é uma 
proposição falsa, e a segunda, 
uma proposição verdadeira. 
 
 
 
 
4) 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. 
 
5) O projeto Orientado a objetos pressupõe a criação de modelos de domínio a partir dos requisitos 
identificados para entendimento do negócio e apresentação de uma solução. A esses modelos são 
acrescidas os aspectos físicos, como os métodos e a troca de mensagens entre eles. A questão é 
decidir a melhor forma de interação entre os métodos, ou seja, a atribuição da responsabilidade 
estabelecida para que se possa gerar um melhor resultado. 
Visando facilitar a construção de soluções são apresentados os padrões de projeto. Assinale dentre 
as alternativas a seguir a que NÃO define uma característica atribuída ao uso dos padrões. 
 
 
São definidos por especialistas de 
problemas e servem para 
aplicação direta em qualquer 
contexto. 
 
6) Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto 
agregado sem expor sua implementação. (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. 
 
7) 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? 
 
Controlador 
 
 
 
23 
 
8) Entre as vantagens do padrão Interpreter podem-se citar: I - facilidade para mudar e estender a 
gramática, pois, o padrão utiliza classes para representar as regras gramaticais. I i - Pode-se usar 
herança para mudar ou estender a gramática, assim como expressões existentes podem ser 
modificadas incrementalmente e novas expressões podem ser criadas a partir das existentes; Iii - 
a implementação da gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem 
implementações similares. Por outro lado, uma das desvantagens é que o padrão Interpreter define, 
ao menos, uma classe para cada regra da gramática, logo,gramáticas com muitas regras são 
difíceis de manter e administrar. 
 
As afirmativas estão todas corretas 
 
9) sobre o padrão Bridge pode- se a firma r: I ¿ pode-se adaptar dinâmica mente a diferentes 
plataforma s . Ii--quando se pretende desenvolver uma determina da solução para duas plataformas 
diferentes é utilizar herança , implementando uma classe deriva da para cada situação é a solução 
ótima que permite flexibilidade para mudanças e reutilização da das abstrações e implementações 
de forma independente I ii - . deve-se separar completa mente a interface da classe da sua 
implementação, de tal modo que uma dada implementação pode ser definida em tempo de 
execução, até mesmo mudar de implementação em tempo de execução 
 
As afirmativas I , II I, estão 
corretas e II errada 
 
10) Podemos Afirmar que os Padrões Estruturais da família GoF: 
 
Definem caminhos comuns 
para a organização de 
diferentes tipos de objetos, 
facilitando sua integração e 
colaboração mútua. 
 
11) 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 
que haja necessidade de 
alterar sua implementação. 
 
12) sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta: 
 
Define-se um método abstrato, em 
uma classe abstrata. Cada classe 
que herda a classe abstrata 
implementa o método físico. 
Dependendo da classe 
instanciada é executado o método 
correspondente. 
Isto é polimorfismo. 
 
13) O padrão Indireção tem como característica: 
 
24 
 
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. 
 
14) Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o 
impacto de modificações em uma aplicação. 
 
Acoplamento fraco 
 
 
 
 
 
15) 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 estão todas 
corretas. 
 
16) O padrão Adpater é bastante utilizado para compatibilizar classes implementas por 
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes 
com interfaces diferentes em uma estrututura hierarquica única, sem precisar implementar 
novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I 
- 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 (Adaptee) com interface diferente da estrutura de classes que 
se pretende utilizar no sistema. Ii - 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. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de 
herança. 
 
As afirmativas I, II, estão 
corretas e a afirmativa III está 
errada. 
 
17) Marque a alternativa que apresenta apenas padrões GRASP? 
 
Coesão alta, controlador e 
polimorfismo 
 
 
 
18) 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 
 
19) Assinale a afirmativa correta sobre o padrão Builder: 
 
25 
 
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. 
 
20) 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. 
(no desenho dentro dos quadrado tem escrito a palavra Factory Method) 
 
Factory Method. 
 
 
21) O padrão de projeto Intepreter descreve como projetar um conjunto de classes para representar 
e interpretar uma gramática para linguagens simples.: I - Sua aplicação é recomenda 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. Ii - É 
importante destacar que o termo ¿linguagem¿, na definição desse padrão, é bastante ampla, não 
estando restrita apenas a linguagens de programação Iii - . A estrutura do padrão Interpreter sugere 
uma modelagem realizada através de uma gramática mapeada em uma arvore hierárquica em que 
cada cada regra gramatical é um nível na arvore, e pode ser usada para interpretar as sentenças 
varrendo toda a árvore e finalização do problema. 
 
As afirmativas I, II, estão 
corretas e a afirmativa III está 
errada. 
 
22) 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: 
 
O objetivo do padrão de projeto 
Command é encapsular chamadas 
de métodos. 
 
23) qual das afirmativas abaixo não é verdadeira. 
 
O ideal que dois artefatos 
tenham alta dependência. Isto 
garante um bom desempenho e 
facilita a manutenção dos 
artefatos. 
 
24) 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? 
 
Invenção Pura 
 
25) Marque a alternativa que está relacionada ao padrão GRASP que está relacionada com a 
seguinte questão: como tratar alternativas com base no tipo? 
 
26 
 
Polimorfismo 
 
26) A definição ? Captar e externalizar um estado interno de um objeto, de maneira que esse estado 
seja restaurado ao objetivo em outro momento, sem violar seu escapsulamento (Gamma et AL., 
2000).? Refere-se a que padrão de projeto: 
 
Memento 
 
27) Considerando as afirmativas 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 instancia de si próprio. II -, Entre as aplicações 
para este padrão de projeto esta 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 clona-los, sempre que foi necessário. 
 
As afirmativas estão todas 
corretas 
 
 
 
 
 
 
 
 
28) 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 moledo abaixo e em seguida 
marque a alternativa que define a representação. 
(desenho com varias descrições) 
 
Prototype. 
 
29) 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 
Responsibilityu, 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 obejtivos 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 mutua. 
 
Apenas as sentenças I e III estão 
corretas 
 
 
 
 
30) 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 desenvolvimento e melhoria da qualidade da aplicação. 
 
27 
(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 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 e 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 tud oque é relacionado à sua própria informação. 
 
Prototype, Façade ,Iterator e 
Expert. 
 
31) Uma das categoria que tradicionalmente se classificam os padrões de projeto : Padrões 
Estruturais cuja objetivo é: 
 
Define a forma de organização dos 
objetos e sua colaboração mutua 
 
 
 
 
 
32) Sobre o Padrão Command: 
I – E ideal para acessar elementos de coleção, matrizes ou estruturas de dados encadeados 
II – A vantagem desta abordagem e que o objetivo que esta realizando a chamada do método não 
precisa saber nada sobre seu funcionamento. 
III- Este padrão de projeto oferece uma maior flexibilidade na arquitetura so sistema, uma vez que 
permite a adição de novas funcionalidade (comandos ) sem a necessidade de mudar a arquitetura. 
Podemos afirmar: 
 
As Afirmativas II,III estão 
corretas e a afirmativa I esta 
errada. 
 
33) considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos 
classificados como criação: 
 
Abstractly factory ; Builder ; 
Factory Method ; Protype - 
Singleton 
 
34) (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 Bridge. 
 
 
 
 
 
 
28 
 
35) Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do 
modelo. 
PORQUE 
É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas 
da tecnologia. Analisando-se as afirmações acima, conclui-se que ... 
 
as duas afirmações são 
verdadeiras, e a segunda 
não justifica a primeira. 
 
36) Dentre as alternativas abaixo identifique a que NÃO define uma situação em que deve ser 
utilizado o padrão Factory Method? 
 
 
Quando o algoritmo de 
criação de um objeto deve 
ser independente das suas 
partes constituintes e da 
maneira como ele é 
"montado". 
 
37) Marque a alternativa que está relacionada ao padrão GRASP responsável manter os objetos 
focados, com funcionalidades específicas, intelegíveis e gerenciáveis? 
 
Coesão alta 
 
38) Podemos afirmar que padrões de projeto de software: 
 
permitem descrever 
fragmentos de projeto e 
reusar idéias de projeto, 
ajudando desenvolvedores 
a se 
nivelar com a experiência 
de outros. 
 
 
 
 
 
39) (FUNIVERSA - 2009) Considerando os padrões de projetos (design patterns) da engenharia de 
software que utilizam as melhores práticas em orientação a objetos para atingir os resultados 
desejados, é correto afirmar que o padrão 
 
bridge é utilizado para 
desacoplar uma abstração 
de sua implementação para 
que os dois possam variar 
independentemente. 
 
40) (CONSULPLAN - 2012) O desenvolvimento de software é uma atividade que apresenta 
dificuldades, ligada ao 
entendimento do problema. Design Patterns surgiram na busca de soluções para as dificuldades, 
tornando-se um mecanismo eficiente no compartilhamento de conhecimento entre os 
desenvolvedores. Gamma propõe um modo de categorização dos DESIGN PATTERNS, definindo 
famílias de padrões relacionados, descritos a seguir. 
 
29 
I. Abrange a configuração e inicialização de objetos e classes. 
II. Lida com as interfaces e a implementação das classes e dos objetos. 
III. Lida com as interações dinâmicas entre grupos de classes e objetos. 
Essas famílias são denominadas, respectivamente, 
 
Creational Patterns, 
StructuralPatterns e 
Behavioral Patterns. 
 
41) Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para 
configurar uma classe com um dentre muitos comportamentos disponíveis. 
 
Strategy. 
 
 
42) Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões 
Comportamentais cuja objetivo e : 
 
 
 
 
 
 
Padroes de projetos são descrições de objetos e classes comunicantes que precisam ser personalizadas para resolver 
um problema geral de projeto num contexto particular 
 
 
 
 
 
 
 
Define formas de gerencia 
e combinar diferentes 
comportamentos 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
PADRÕES GOF 
- REVISÃO - 
zavaleta.jorge@gmail.com 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
6. Analise as seguintes afirmações: 
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 padrão FactoryMethod fornece uma interface para a criação de uma família de 
objetos relacionados ou dependentes sem especificar suas classes completas. 
III. O padrão Builder define uma interface para criar um objeto, mas deixa 
as subclasses decidirem que classe será instanciada. 
IV. O padrão State 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. 
A[ ] I e III. 
B[ ] Somente II. 
C[ ] III e IV. 
D[ ] Somente I. 
E[ ] II e IV. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
7. Considerando padrões de projetos assinale a 
alternativa incorreta. 
A[ ] Os primeiros padrões de projeto surgiram da verificação da 
repetição de soluções de projeto em sistemas orientados a 
objetos. 
B[ ] O padrão de projeto Proxy oferece um filtro para acesso a um 
único objeto. 
C[ ] Um padrão de projeto pode ser definido como um conjunto de 
classes, cada uma com um conjunto de atributos e métodos, 
com responsabilidades alocadas a cada classe e com um 
protocolo de comunicação entre elas. 
D[ ] A diferença básica entre o padrão de projeto Proxy e o padrão 
de projeto Decorator é que, além da intermediação da 
comunicação entre dois objetos implementada por ambos, o 
primeiro inclui ou modifica funcionalidades em relação àquelas 
do objeto agregado, o que não ocorre com o segundo. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
8. Analise a estrutura abaixo e assinale a alternativa incorreta. 
 
 
 
 
 
 
 
 
A[ ] A estrutura representa o padrão FactoryMethod. 
B[ ] ‘Figura’ é elemento participante do padrão Prototype que oferece a 
interface para se autoclonar. 
C[ ] A interface Figura transfere a instanciação para Circulo, Quadrado e 
TrEquilatero. 
D[ ] O padrão representado pela estrutura é usado quando o Cliente não 
pode antecipar qual tipo de classe que um objeto deve criar. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
9. Em uma Aplicação Web desenvolvida utilizando o 
design pattern MVC, as páginas HTML e as classes 
com métodos que acessam o banco de dados e 
executam instruções SQL são representadas, 
respectivamente, nos componentes? 
 
A[ ] Presentation e Business. 
B[ ] View e Model. 
C[ ] Controller e Model 
D[ ] Model e Business 
E[ ] View e Business 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
10. Em relação aos padrões de projeto, o modelo MVC, 
apresenta um modelo em três camadas. São elas: 
 
A[ ] Client (Cliente), Controler (Controle) e View 
(Visão/Interface);. 
B[ ] Model (Modelo de dados), Controler (Controle) e Data 
(Negócio/Dados); 
C[ ] Model (Modelo de dados), View (Visão/Interface) e 
Controler (Controle);. 
D[ ] .Client (Clien te), View (Visão/Interface) e Data 
(Interface/Dados); 
E[ ] Model (Modelo de dados), Business Interface 
(Interface/negócios) e Data (dados) 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
11. Sobre as camadas do modelo de arquitetura MVC 
usado no desenvolvimento web é correto afirmar: 
A[ ] Todos os dados e a lógica do negócio para processá-
los devem ser representados na camada Controller. 
B[ ] A camada Model pode interagir com a camada View 
para converter as ações do cliente em ações que são 
compreendidas e executadas na camada Controller. 
C[ ] A camada View é a camada responsável pela 
manutenção do estado da aplicação. 
D[ ] A camada Controller geralmente possui um 
componente controlador padrão criado para atender a 
todas as requisições do cliente. 
E[ ] Em aplicações web desenvolvidas com Java as 
servlets são representadas na camada Model 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
12. O padrão de projeto de software que permite a 
criação de famílias de objetos relacionados ou 
dependentes, através de uma única interface, sem a 
necessidade de especificar a classe concreta, é 
denominado de: 
 
A[ ] Observer. 
B[ ] Command. 
C[ ] Builder. 
D[ ] Abstract Factory. 
E[ ] Prototype 
 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
13. Assinale a alternativa que apresenta corretamente um 
padrão de projeto de software comportamental. 
 
A[ ] Proxy 
B[ ] Façade 
C[ ] Visitor 
D[ ] Decorator 
E[ ] Composite 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
14. Em relação ao padrão Adapter, é correto afirmar: 
 
A[ ] a classe Adapter do padrão pode ser 
implementada através de herança múltipla (em 
linguagens que suportam esse mecanismo). 
B[ ] ele adapta duas classes diferentes, de forma que 
tenham o mesmo conjunto de métodos de chamada. 
C[ ] é útil utilizá-lo quando se precisa adaptar o 
comportamento de uma classe em tempo de 
execução. 
D[ ] não há mecanismos de polimorfismo no padrão. 
Ele possui apenas agregações como forma de 
adaptação. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
15. Em relação ao padrão FactoryMethod, é correto afirmar 
que este: 
A[ ] define um método para criação de interfaces sem 
especificar suas subclasses. 
B[ ] define uma interface para criação de famílias de 
objetos sem especificar suas classes concretas. 
C[ ] define uma interface para criação de objetos, mas 
deixa subclasses decidirem qual classe instanciar. 
D[ ] defineum método para criação de interfaces e 
especifica quais classes precisam ser 
instanciadas. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
16. Em relação ao padrão Façade, é correto afirmar ser ele 
útil 
A[ ] quando se faz necessário criar uma única interface 
para um conjunto de componentes do sistema. 
B[ ] para que componentes do sistema com interfaces 
incompatíveis possam interagir. 
C[ ] para simplificar a maneira pela qual duas classes 
interagem. 
D[ ] quando há pouca dependência entre um componente 
do sistema e seus clientes. 
REVISÃO 
PADRÕES DE PROJETO DE SOFTWARE 
JORGE ZAVALETA - zavaleta.jorge@gmail.com 
17. O conjunto que representa padrões de projeto estruturais 
é: 
A[ ] Builder, AbstractFactory e Singleton. 
B[ ] Observer, Proxy e Decorator. 
C[ ] State, Adapter e Iterator. 
D[ ] Bridge, Composite e Façade. 
18. O conjunto que representa padrões de projeto 
comportamentais é: 
A[ ] Mediator, Adapter e Iterator. 
B[ ] Proxy, Composite e Bridge. 
C[ ] Observer, ChainOfResponsibility e Strategy. 
D[ ] Visitor, AbstractFactory e State 
 
 1. 
 
 
Analise as sentenças sobre padrões de projeto de software e, em seguida, assinale a 
alternativa correta: 
I. Permitem descrever fragmentos de projeto e reusar ideias de projeto; 
II. Dão nome e forma a procedimentos abstratos, regras e melhores práticas relativas 
às técnicas orientadas a objetos; 
III. Ajudam a escolher alternativas de projeto que tornam um sistema reutilizável. 
 
Quest.
: 1 
 
 
Apenas a sentença II está correta 
 
Todas as sentenças estão corretas 
 
Apenas as sentenças I e III estão corretas 
 
Apenas as sentenças II e III estão corretas 
 
Apenas as sentenças I e II estão corretas 
 
 
 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. 
 
Quest.
: 2 
 
 
Apenas as sentenças II e III estão corretas 
 
Apenas as sentenças I e III estão corretas 
 
Apenas a sentença II está correta 
 
Todas as sentenças estão corretas 
 
Apenas as sentenças I e II estão corretas 
 
 
 3. 
 
 
considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: ¿ Em 
geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de 
padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é 
avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns 
entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um 
sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível 
do que aquelas produzidas quanto padrões são ignorados.¿ 
 
Quest.
: 3 
 
 
Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código. 
 
Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a 
qualidade. 
 
Padrões sempre levam a uma arquitetura menor principalmente quando se usa tecnologia 
de objetos 
 
Padrões é uma forma obrigatória de programar com objetos 
 
Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. 
 
 
 
4. 
 
 
Uma das categoria que tradicionalmente se classificam os padrões de projeto: Padrões 
de criação cujo objetivo é: 
 
Quest.
: 4 
 
 
Define a forma de organização dos objetos e sua colaboração mutua 
 
Define formas de gerencia e combinar diferentes comportamentos. 
 
Define como implantar o mecanismo de herança em um grupo de objetos 
 
Define como implantar um novo método em uma classe. 
 
Define formas de instanciar objetos delegando responsabilidades 
 
 
 5. 
 
 
(FCC-2011) Os design patterns 
 
Quest.
: 5 
 
 
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. 
 
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 aplicações propriamente ditas, normalmente construídas pela integração de diversos 
frameworks. 
 
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. 
 
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. 
 
 
 6. 
 
 
A família de padrões GoF é dividida em três grupos principais de padrões, a saber: 
 
Quest.
: 6 
 
 
Padrões de Criação; Padrões Metodológicos; Padrões de Ponte 
 
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 Comportamentais; Padrões de Criação; Padrões Estruturais 
 
Padrões de Processo; Padrões de Singularidade; Padrões de Prototipação 
Aula 02 
 1. 
 
 
Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo. 
PORQUE 
É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da 
tecnologia. 
Analisando-se as afirmações acima, conclui-se que ... 
. 
 
Quest.
: 1 
 
 
a primeira afirmação é verdadeira, e a segunda é falsa. 
 
as duas afirmações são verdadeiras, e a segunda justifica a primeira. 
 
as duas afirmações são verdadeiras, e a segunda não justifica a primeira. 
 
As duas afirmações são falsas 
 
a primeira afirmação é falsa, e a segunda é verdadeira. 
 
 
 2. 
 
 
considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto 
estão todos classificados como Comportamentais 
 
Quest.
: 2 
 
 
Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy 
 
Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy 
 
 
 3. 
 
 
considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão 
todos classificados como criação: 
 
Quest.
: 3 
 
 
Abstractly factory ; Builder ; Factory Method ; Protype - Singleton 
 
Abstractly factory ; Bridge ; Factory Method ; Protype ; Singleton 
 
Abstractly factory ; Builder ; Factory Method ; Decorator - Singleton 
 
Command ; Builder ; Factory Method ; Protype - Singleton 
 
Abstractly factory ; Builder ; Composite ; Protype - Singleton 
 
 
 4. 
 
 
Consideram as afirmativa abaixo sobreo 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. 
 
Quest.
: 4 
 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 
As afirmativas estão todas corretas 
 
As afirmativas I, III, estão corretas e II errada 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas I, II, III estão incorretas 
 
 
 5. 
 
 
considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão 
todos classificados como Estruturais: 
 
Quest.
: 5 
 
 
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton 
 
singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy 
 
adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy 
 
adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton 
 
singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy 
 
 
 6. 
 
 
Assinale a afirmativa correta sobre o padrão Builder: Quest.
 
: 6 
 
 
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. 
 
é 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 
 
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais 
condições, fica comprometida 
 
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. 
 
 1. 
 
 
Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é 
DESNECESSÁRIO. 
 
Quest.
: 1 
 
 
fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos 
estruturais, assim como os aspectos 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. 
 
entender o padrão de projeto como uma colaboração representada com suas partes 
estruturais e comportamentais. 
 
identificar as soluções comuns para o problema básico. 
 
 
 2. 
 
 
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; 
 
Quest.
: 2 
 
 
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, III estão incorretas 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
 
 3. 
 
 
(FGV - 2008) Considere as seguintes assertivas sobre as vantagens do uso de padrões 
de software (software patterns): 
 
I. Padrões de projeto proporcionam um vocabulário comum de projeto, facilitando 
comunicação, documentação e aprendizado dos sistemas de software. 
II. Padrões de projeto auxiliam no desenvolvimento de software por meio da 
reutilização do projeto de soluções computacionais já testadas e aprovadas. 
III. Uma biblioteca de padrões pode ajudar a melhorar e padronizar o desenvolvimento 
de software. 
 
As assertivas corretas são: 
 
Quest.
: 3 
 
 
somente II e III. 
 
I, II e III. 
 
somente II. 
 
somente I e III. 
 
somente I e II. 
 
 
 4. 
 
 
O projeto Orientado a objetos pressupõe a criação de modelos de domínio a partir dos 
requisitos identificados para entendimento do negócio e apresentação de uma solução. 
A esses modelos são acrescidas os aspectos físicos, como os métodos e a troca de 
mensagens entre eles. A questão é decidir a melhor forma de interação entre os 
métodos, ou seja, a atribuição da responsabilidade estabelecida para que se possa 
gerar um melhor resultado. 
 
Visando facilitar a construção de soluções são apresentados os padrões de projeto. 
Assinale dentre as alternativas a seguir a que NÃO define uma característica atribuída 
ao uso dos padrões. 
 
Quest.
: 4 
 
 
São definidos por especialistas de problemas e servem para aplicação direta em qualquer 
contexto. 
 
Fornece orientação de aplicação em circunstâncias variáveis. 
 
É apresentado através de uma descrição contendo informações de identificação e registro, 
como: Nome, Problema, Sumário, Solução, Conseqüências e Padrões Relacionados. 
 
O nome do padrão é utilizado para agrupar ideias em um conceito. 
 
É uma descrição nomeada de um problema e solução que pode ser aplicado em novos 
contextos. 
 
 
 5. 
 
 
(CONSULPLAN - 2012) O desenvolvimento de software é uma atividade que apresenta 
dificuldades, ligada ao entendimento do problema. Design Patterns surgiram na busca 
de soluções para as dificuldades, tornando-se um mecanismo eficiente no 
compartilhamento de conhecimento entre os desenvolvedores. Gamma propõe um 
modo de categorização dos DESIGN PATTERNS, definindo famílias de padrões 
relacionados, descritos a seguir. 
 
I. Abrange a configuração e inicialização de objetos e classes. 
 
II. Lida com as interfaces e a implementação das classes e dos objetos. 
 
III. Lida com as interações dinâmicas entre grupos de classes e objetos. 
 
Essas famílias são denominadas, respectivamente, 
 
Quest.
: 5 
 
 
Standard Patterns, Structural Patterns e Behavioral Patterns. 
 
Structural Patterns, Standard Patterns e Creational Patterns. 
 
Behavioral Patterns, Structural Patterns e Standard Patterns. 
 
Standard Patterns, Creational Patterns e Structural Patterns. 
 
Creational Patterns, Structural Patterns e Behavioral Patterns. 
 
 
 6. 
 
 
Programadores se deparam muitas vezes com a situação onde é preciso acrescentar 
responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a 
um dado objeto. Este padrão é chamado de: 
 
Quest.
: 6 
 
 
Singleton 
 
Bridge 
 
protype 
 
Instance 
 
Decorator. 
 
 
Aula 04 
 1. 
 
 
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 Estruturaise 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. 
 
 
Quest.
: 1 
 
 
Factory Method. 
 
Facade. 
 
Singleton. 
 
Builder. 
 
Mediator. 
 
 
 2. 
 
 
Em padrão de projeto existe uma situação onde uma classe chama um método abstrato 
especificado em alguma classe abstrata (ou interface) e a subclasse concreta vai 
decidir que tipo exato de objeto criar e retornar. 
 
Baseado nessa descrição marque a alternativa que aponta o padrão relacionado. 
 
Quest.
: 2 
 
 
Facade. 
 
Mediator 
 
Builder. 
 
Singleton. 
 
Factory Method. 
 
 
 
3. 
 
 
O padrão Adpater é bastante utilizado para compatibilizar classes implementas por 
programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para 
unir classes com interfaces diferentes em uma estrututura hierarquica única, sem 
precisar implementar novamente todas as funcionalidades e interfaces da classe já 
existente, considere as afirmativas: I - 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 
(Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no 
sistema. Ii - 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. Iii cria uma hierarquia de classes diferentes categorias de objetos 
sem relação de herança. 
 
Quest.
: 3 
 
 
As afirmativas I, III, estão corretas e II errada 
 
As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 
 
 4. 
 
 
sobre o padrão Composite podemos afirmar: I ¿ É utilizado quando se pretende 
representar hierarquias partes-todo (ou todo-parte) de objetos, ou ainda, quando se 
pretende modelar relacionamento de agregação. Ii - o cliente poderá acessar objetos 
compostos ou não de maneira uniforme, pois irá se relacionar com a classe abstrata III 
¿ Um processamento pode- ser realizado diretamente por uma superclasse 
Componente, quando se trata de uma composição, e o processamento parcial é feito 
pela classe filha, montando todas as partes que compõem o objeto. 
 
Quest.
: 4 
 
 
As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 
As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 
As afirmativas I, III, estão corretas e II errada 
 
 
 5. 
 
 
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. 
 
Quest.
: 5 
 
 
FACTORY METHOD. 
 
FACADE. 
 
SINGLETON. 
 
BUILDER. 
 
MEDIATOR. 
 
 
 6. 
 
 
Podemos afirmar que os Padrões Comportamentais da família GoF: 
 
Quest.
: 6 
 
 
Diminuem a responsabilidade do desenvolvedor em modelar o sistema e adequar as rotinas 
necessárias à documentação dos processos 
 
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 
 
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 
 
Aula 05 
 1. 
 
 
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. 
 
 
Que
st.: 
1 
 
 
SINGLETON. 
 
BUILDER. 
 
PROTOTYPE. 
 
MEDIATOR. 
 
FACTORY METHOD. 
 
 
 2. 
 
 
Entre as vantagens do padrão Interpreter podem-se citar: I - facilidade para mudar 
e estender a gramática, pois, o padrão utiliza classes para representar as regras 
gramaticais. I i - Pode-se usar herança para mudar ou estender a gramática, assim 
como expressões existentes podem ser modificadas incrementalmente e novas 
expressões podem ser criadas a partir das existentes; Iii - a implementação da 
gramática é mais fácil, pois, classes que definem os nós folhas da árvore tem 
implementações similares. Por outro lado, uma das desvantagens é que o padrão 
Interpreter define, ao menos, uma classe para cada regra da gramática, logo, 
gramáticas com muitas regras são difíceis de manter e administrar. 
 
Quest.: 
2 
 
 
As afirmativas I, III, estão corretas e II 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 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 
 
 3. 
 
 
Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, 
relacione-as ao padrão adequado a utilização e, em seguida marque a alternativa que 
corresponde a sequencia numerada correspondente. 
 
 
Quest.: 
3 
 
 
4 - 3 - 1 - 2 
 
3 - 4 - 1 - 2 
 
4 - 2 - 1 - 3 
 
2 - 3 - 4 - 1 
 
4 - 1 - 2 - 3 
 
 
 4. 
 
Na UML, o padrão Singleton (GoF) pode ser visto como na classe abaixo: 
 
Sobre o padrão de projeto Singleton, 
 
Quest.: 
4 
 
 
I - o número 1 no canto superior da classe pode ser utilizado opcionalmente para 
indicar que esta classe terá apenas uma única instância. 
II - para se implementar o padrão Singleton na classe acima, esta deverá possuir 
um método construtor ServicesFactory() privado. 
III - caso uma subclasse estenda a classe ServicesFactory através de herança, o 
método getInstance() deverá ser sobrescrito (override) para construir a subclasse. 
IV - o método getInstance() deverá ser obrigatoriamente declarado como um 
método estático (static). 
 
Assinale a alternativa que indica assertivas CORRETAS: 
 
 
II - III - IV 
 
I - II - III 
 
I - II - III - IV 
 
I - III - IV 
 
I - II - IV 
 
 
 5. 
 
 
(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

Outros materiais