Buscar

PADRÕES DE PROJETO DE SOFTWARE_Aula01-10

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

PADRÕES DE PROJETO DE SOFTWARE 
1a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Quanto aos design patterns, é correto afirmar que: 
 
 descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros. 
 
a UML pode ser utilizada para representar frameworks, mas não é tão ampla ao ponto de oferecer suporte à representação dos design 
patterns. 
 
são projetos concretos que incluem detalhes de implementação. 
 
são conjuntos de classes abstratas e concretas que podem ser adaptadas e ampliadas para criar sistemas de aplicações. 
 
o maior problema com a utilização dos design patterns é que eles não suportam o uso de ferramentas CASE e podem trazer erros 
provenientes da percepção de quem os criou. 
Respondido em 24/03/2019 11:16:31 
 
 
 
 
 2a Questão 
 
 
Existe um padrão GOF para implementar uma árvore de itens e tratar todos os nós, folhas ou não, de 
maneira uniforme. Implemente classes que representem um sistema de arquivos, com pastas e 
arquivos. Pastas possuem nome e diversos arquivos e subpastas. Arquivos possuem nome e tamanho 
em KB. Seu programa deve navegar pela árvore e imprimir seus itens e tamanhos. 
O texto está se referindo a qual padrão de projeto? 
 
 
Façade 
 
Builder 
 Composite 
 
Decorator 
 
Creator 
Respondido em 24/03/2019 11:19:22 
 
 
 
 
 3a Questão 
 
 
 Analise as afirmações abaixo: 
I. Define uma dependência um para muitos entre objetos, de forma que, quando o objeto é alterado todos os seus dependentes são 
notificados e atualizados.. 
II. Dada uma linguagem define uma representação para a sua gramática juntamente com um interpretador. 
III. Agrega dinamicamente responsabilidades adicionais a um objeto. 
As afirrmações correspondem respectivamente a: 
 
 
Interpreter, Observer, Decorator 
 Observer, Interpreter, Decorator 
 
Interpreter, Observer, Decorator 
 
Observer, Decorator, Interpreter 
 
Decorator, Interpreter, Observer 
Respondido em 24/03/2019 11:23:06 
 
 
Explicação: 
O padrão Observer (observador) define uma dependência um para muitos, que será necessária para fazer 
a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto 
mude de estado, todos os dependentes sejam notificados. 
Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, 
todos os seus dependentes são notificados e atualizados automaticamente. 
O padrão Interpreter é um dos padrões de projeto de software, famosos como "Design Patterns", muito 
utilizado para a resolução de problemas quando a modelagem de sistemas ou softwares. Esse padrão esta 
incluso na categoria de Padrão Comportamental, ou seja, ele busca solucionar problemas de modelagem 
que tratam o comportamento de classes. 
Tem a função de interpretar, interfacear delegando responsabilidade. 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma 
funcionalidade (para a extensão de funcionalidade). 
 
 
 
 
 4a Questão 
 
 
Os padrões de projeto podem ser categorizados em três grupos: criação, estruturais e comportamentais. São padrões do grupo estrutural e do 
grupo criação,respectivamente: 
 
 
observer e bridge 
 
abstract factory e composite. 
 
builter e abstract factory. 
 façade e singleton 
 
singleton e façade 
Respondido em 24/03/2019 11:25:12 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
O padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas, 
ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem um 
subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar. 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
 
 
 
 
 5a Questão 
 
 
Além dos benefícios tradicionais relacionados com produtividade, redução do tempo de desenvolvimento e reaproveitamento de soluções 
passadas, a utilização de padrões de projeto pode contribuir ainda nos seguintes aspectos I - É uma abordagem complementar, auxiliam os 
analistas e desenvolvedores a melhor utilizar as práticas tradicionais de análise e projeto orientado a objetos, tais como abstração, encapsula 
mento, herança, polimorfismo, entre outros. II ¿ Cada padrão descreve um conjunto de problemas e a solução é única não podendo ser 
alterado III - Auxiliam programadores inexperientes a desenvolverem soluções mais elegantes, melhor documentadas, padronizadas e 
reutilizáveis. IV - Muitos dos padrões de projeto desenvolvidos auxiliam no re fatoramento da aplicação. 
 
 
As afirmativas I, II, IV estão corretas e a afirmativa III está errada 
 
As afirmativas I, II, III, IV estão corretas 
 
As afirmativas II, III, IV estão corretas e a afirmativa I está errada. 
 As afirmativas I, III, IV estão corretas e a afirmativa II está errada 
 
As afirmativas I, II, III estão corretas e a afirmativa IV está errada. 
Respondido em 24/03/2019 11:27:23 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 
Na verdade são quatro aspectos que os padrões de projeto contribuem. Os informados nos itens I, III e IV, e mais: auxilia na aprendizagem a 
partir da documentação de experiências passadas. Por esse motivo, o item II está errado. 
 
 
 
 6a Questão 
 
 
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. 
 
 
 
Singleton. 
 Factory Method. 
 
Builder. 
 
Facade. 
 
Mediator. 
Respondido em 24/03/2019 11:29:58 
 
 
Explicação: 
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O 
Factory Method é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como 
instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo, 
qual classe instanciar, ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como 
estruturar e encapsular essas decisões. 
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto, mas 
deixar as subclasses definirem que classe instanciar. 
 
 
 
 
 7a Questão 
 
 
(2017 - IESES - CREA-SC) Assinale a alternativa que define corretamente o conceito de Design Patterns: 
 
 ¿Um procedimento padrão para resolver problemas anteriormente desconhecidos dentro de um contexto genérico¿ 
 
¿Uma solução paraum problema independentemente de um contexto¿ 
 
¿Uma prática não estruturada para solução de problemas independentemente de um contexto¿ 
 
¿Uma prática não estruturada para solução de problemas dentro de um determinado contexto¿ 
 ¿Uma solução para um problema dentro de um contexto¿ 
Respondido em 24/03/2019 11:32:53 
 
 
Explicação: 
Padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia. 
São descrições de objetos que se comunicam e classes que são customizadas para resolver um problema 
genérico de design em um contexto específico. 
 
 
 
 
 8a Questão 
 
 
Qual padrão define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar? 
 
 Factory Method. 
 
Nenhuma das anteriores. 
 
Builder. 
 
Abstract Factory. 
 
Singleton. 
Respondido em 24/03/2019 11:34:55 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto, mas 
deixar as subclasses definirem que classe instanciar. 
Situações em que deve ser utilizado o padrão Factory Method: 
Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada. 
Quando classes delegam responsabilidade para uma entre várias subclasses de apoio. 
Quando uma classe quer que suas subclasses especifiquem os objetos criados. 
Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
1a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Relacione os padrões de projetos listados abaixo com suas respectivas finalidades: 
PADRÕES DE PROJETO 
1. Facade (fachada) 
2. Decorator (decorador) 
3. Memento (lembrança) 
4. Proxy (procurador) 
5. Observer (observador) 
 
FINALIDADES 
( ) Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são 
notificados e atualizados automaticamente. 
( ) Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema. Define uma interface de mais alto nível que 
torna o subsistema mais fácil de usar. 
( ) Sem violar o encapsulamento, captura e exterioriza o estado interno de um objeto, tal que o objeto possa ser restaurado a este estado 
mais tarde. 
( ) Acrescenta responsabilidades adicionais a um objeto dinamicamente. Fornece uma alternativa flexível para a extensão de funcionalidade. 
( ) Controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório. Assinale a alternativa que 
indica a sequência correta, de cima para baixo. 
 
 
5 - 1 - 3 - 4 - 2 
 
1 - 5 - 3 - 4 - 2 
 
3 - 5 - 1 - 4 - 2 
 
3 - 1 - 5 - 2 - 4 
 5 - 1 - 3 - 2 - 4 
Respondido em 24/03/2019 11:40:17 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 
Os padrões de Criação GoF contemplam 5 (cinco) tipos de padrões: Escopo por Classe: Factory Method ; Escopo por Objeto: Abstract 
Factory, Builder, Prototype e Singleton. 
Os padrões Estruturais GoF contemplam 8 (oito) tipos de padrões: Escopo por Classe: Class Adapter; Escopo por Objeto: Object 
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 
Os padrões Comportamentais GoF contemplam 11 (onze) tipos de padrões: Escopo por Classe: Interpreter, Template Method; Escopo 
por Objeto: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, e Visitor. 
 
 
 
 2a Questão 
 
 
(CESGRANRIO - 2008 - TJ-RO - Analista Judiciário - Análise de Sistemas) Muitos frameworks utilizam um padrão de projeto (design pattern) 
que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). 
Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos 
concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos 
concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se: 
 
 
Strategy 
 Abstract Factory 
 Template Method 
 
Singleton 
 
Decorator 
Respondido em 24/03/2019 11:42:06 
 
 
Gabarito 
Coment. 
 
 
 
 
 3a Questão 
 
 
Como a adoção de um padrão de projeto pode auxiliar o desenvolvimento de software? 
 
 Por meio da sugestão de melhorias nos acessos e estruturação de situações problemáticas 
 
Por meio da adoção de qualquer padrão, desde que seja um dos que foram aceitos pela comunidade internacional 
 
Por meio da aplicação obrigatória de ao menos um dos padrões GOF 
 
Alterando a forma com que os objetos são criados e transformar a criação de objetos uma função específica de classes herdadas 
 Alterando o meio de acessar classes por meio de Interfaces e Dependências 
Respondido em 24/03/2019 11:43:04 
 
 
 
 
 4a Questão 
 
 
Sobre padrões de projeto selecione a opção correta sobre as afirmativas abaixo: I - Cada vez que uma boa solução for encontrada para um 
dado problema, a mesma deve ser lapidada, refinada e documentada para uso futuro. II - Padrões de projeto auxiliam projetistas e 
desenvolvedores a reutilizar soluções passadas, relacionadas com problemas são recorrentes em desenvolvimento de software. III ¿ Padrões 
de projeto são voltados para a resolução de problemas específicos, tornando os projetos orientados a objetos mais flexíveis, robustos e 
confiáveis. Iv ¿ Padrões de projeto não permitem a inovação tendo em vista que ¿engessam¿ a criatividade do desenvolvedor. 
 
 
As afirmativas I, III, IV estão corretas e a afirmativa II está errada. 
 As afirmativas I, II, III estão corretas e a afirmativa IV está errada. 
 
As afirmativas I, II, III, IV estão corretas 
 
As afirmativas II, III, IV estão corretas e a afirmativa I está errada. 
 
As afirmativas I, II, IV estão corretas e a afirmativa III está errada. 
Respondido em 24/03/2019 11:45:05 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. O padrão de criação GoF contempla 
cinco tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
A opção IV está errada porque não há nenhum ¿engessamento¿, isso porque uma das características de padrões é que Capturam soluções de 
projeto exaustivamente refinadas com o passar do tempo e são o resultado de um longo processo de projeto, re-projeto, teste e reflexão 
sobre o que torna um sistema mais flexível, reusável e modular. 
 
 
 
 5a Questão 
 
 
Softwares são sequencias de instruções a serem seguidas ou executadas que solucionam problemas 
modelados através de algoritmos com documentação associada. Quando um desenvolver projeta um 
software ele deseja criar um programa com um mínimo de qualidade. Com base nesse pressuposto, qual 
única alternativa abaixo que um dos requisitos de qualidade esperado não se enquadra para software 
robusto desenvolvido: 
 
 
Safe (seguro), Maintenance (manutenção) e Optimized (otimizado) 
 
Safe (seguro), Secure (confiável ) e Stable (estável) 
 
Maintenance (manutenção), Fault tolerance (tolerante a falhas) e Stable (estável) 
 Maintenance (manutenção), Fault tolerance (tolerante a falhas), Secure (confiável ) e Stable (estável) 
 Interpreter (interpretável) , Secure (confiável ) e Stable (estável) 
Respondido em 24/03/2019 11:47:08 
 
 
 
 
 6a Questão 
 
 
O Design Patterns que tem a finalidadede usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de 
maneira eficiente, é denominado 
 
 
State 
 
Strategy 
 
Builder 
 Flyweight 
 
Composite 
Respondido em 24/03/2019 11:49:29 
 
 
 
 
 7a Questão 
 
 
Observando o diagrama de classes abaixo, verificamos a aplicação de um padrão de criação GOF. 
Qual padrão foi utilizado para organizar as classes? 
 
 
 
 
Template Method 
 
Singleton 
 
Strategy 
 Abstract Factory 
 
State 
Respondido em 24/03/2019 11:50:48 
 
 
 
 
 8a Questão 
 
 
O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se: 
 
 
Dependency Injection 
 
Abstract Factory 
 
Template Method 
 
Business Delegate 
 Factory Method 
Respondido em 24/03/2019 11:52:05 
 
 
Gabarito 
Coment. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
1a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Existe um padrão GOF para implementar uma árvore de itens e tratar todos os nós, folhas ou não, de 
maneira uniforme. Implemente classes que representem um sistema de arquivos, com pastas e 
arquivos. Pastas possuem nome e diversos arquivos e subpastas. Arquivos possuem nome e tamanho 
em KB. Seu programa deve navegar pela árvore e imprimir seus itens e tamanhos. 
O texto está se referindo a qual padrão de projeto? 
 
 Composite 
 
Creator 
 
Façade 
 
Builder 
 
Decorator 
Respondido em 23/04/2019 16:12:30 
 
 
 
 
 2a Questão 
 
 
Quais dos padrões abaixo corresponde aos padrões de criação. 
 
 Adapter, Bridge, Composite. 
 Abstract Factory, Builder, Factory Method 
 
Chain of Responsibility, Command, Iterator 
 
Mediator, Memento, Observer 
 
Singleton, Strategy, Template Method 
Respondido em 23/04/2019 16:13:00 
 
 
Explicação: 
Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema independente 
de como seus objetos são criados, compostos e representados. 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. 
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
 
 
 
 
 3a Questão 
 
 
Escolha a opção que contem, somente, padrões de interface, segundo Metsker:: 
 
 Adapter, Decorator, Composite e Bridge 
 Adapter, Facade, Composite e Bridge 
 
Adapter, Facade, Composite e Builder 
 
Decorator, Facade, Composite e Bridge 
 
Abstract Factory, Facade, Composite e Bridge 
Respondido em 23/04/2019 16:13:40 
 
 
Explicação: 
Segundo Metsker, há 5 grupos segundo a intenção: Interfaces, Responsabilidade, Construção, Operações e 
Extensões. 
Interface: Adapter, Facade, Composite, Bridge. 
 
 
 
 
 4a Questão 
 
 
Qual padrão é de arquitetura? 
 
 
GoF 
 
Gamma 
 
Flower 
 
GRASP 
 MVC 
Respondido em 23/04/2019 16:14:05 
 
 
 
 
 5a Questão 
 
 
Softwares são sequencias de instruções a serem seguidas ou executadas que solucionam problemas 
modelados através de algoritmos com documentação associada. Quando um desenvolver projeta um 
software ele deseja criar um programa com um mínimo de qualidade. Com base nesse pressuposto, qual 
única alternativa abaixo que um dos requisitos de qualidade esperado não se enquadra para software 
robusto desenvolvido: 
 
 Interpreter (interpretável) , Secure (confiável ) e Stable (estável) 
 
Maintenance (manutenção), Fault tolerance (tolerante a falhas) e Stable (estável) 
 
Safe (seguro), Maintenance (manutenção) e Optimized (otimizado) 
 Maintenance (manutenção), Fault tolerance (tolerante a falhas), Secure (confiável ) e Stable (estável) 
 
Safe (seguro), Secure (confiável ) e Stable (estável) 
Respondido em 23/04/2019 16:16:04 
 
 
 
 
 6a Questão 
 
 
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". 
 
Quando classes delegam responsabilidade para uma entre várias subclasses de apoio. 
 Quando uma classe quer que suas subclasses especifiquem os objetos criados. 
 
Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada. 
 
Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar. 
Respondido em 23/04/2019 16:17:55 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. Há cinco padrões de criação GoF: 
Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
O Factory Method é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como 
instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo, 
qual classe instanciar, ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como 
estruturar e encapsular essas decisões. 
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto, mas 
deixar as subclasses definirem que classe instanciar. Definir uma interface para criar um objeto mas 
deixar que subclasses decidam que classe instanciar. 
 
 
 
 
 7a Questão 
 
 
Qual padrão fornece uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas? 
 
 
Factory Method. 
 
Nenhuma das anteriores. 
 
Builder. 
 
Adapter. 
 Abstract Factory. 
Respondido em 23/04/2019 16:18:32 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O método Abstract Factory fornece uma interface para a criação de uma família de objetos relacionados 
ou dependentes sem especifi car suas classes completas. 
 
 
 
 
 8a Questão 
 
 
considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos classificados como Comportamentais 
 
 Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy 
 Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy 
Respondido em 23/04/2019 16:19:19 
 
 
Explicação: 
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões 
Comportamentais. 
Se categorizarmos os padrões de Projeto por Finalidade, temos as categorias Estruturais, e por Finalidade. Esta categorização pode ser por 
Criação ou Comportamentais. 
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a 
realização de uma tarefa. São abstrações de aspectos comportamentais. 
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, 
Template Method e Visitor. 
 
 
 
 
 
 
 
 
PADRÕESDE PROJETO DE SOFTWARE 
2a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
i) Decorator permite anexar responsabilidades adicionais a um objeto dinamicamente. 
ii) Builder desacopla uma abstração de sua implementação para que os dois possam variar independentemente. 
iii) Mediator fornece um substituto ou ponto através do qual um objeto possa controlar o acesso a outro. 
Em relação aos itens acima está correto: 
 
 
somente a ii e iii 
 
somente a ii 
 
somente a iii 
 
somente a i e ii 
 somente a i 
Respondido em 30/03/2019 11:40:35 
 
 
Explicação: 
O item II está errado porque o padrão BUILDER é um Padrão de Criação. É um padrão cuja 
responsabilidade é a CONSTRUÇÃO 
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um 
construtor. Isso é comum em desenvolvedores iniciantes. 
O item III está errado porque o padrão Mediator é um padrão define um objeto que encapsula a forma 
como um conjunto de objetos interage, promovendo o acoplamento fraco ao evitar que os objetos se 
refiram uns aos outros explicitamente, permitindo variar suas interações independentemente. 
 
 
 
 
 2a Questão 
 
 
Assinale a alternativa que indica o padrão correto. ¿Especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos 
objetos pela cópia desse protótipo¿ 
 
 
nenhuma das alternativas 
 Prototype 
 
Bridge 
 
Singleton 
 
Adapter 
Respondido em 30/03/2019 11:42:51 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O 
padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos objetos ao 
copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone na superclasse 
abstrata do modelo (Prototype) 
 
 
 
 
 3a Questão 
 
 
Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor 
especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo 
objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as 
configurações e regras necessárias para a instanciação do novo objeto. 
 
 As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas 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 
Respondido em 30/03/2019 11:44:49 
 
 
Explicação: 
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO 
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO 
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos 
dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 
 
 
 
 
 4a Questão 
 
 
O padrão Singleton é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar que: 
I- O padrão de projeto Singleton declara um método chamado clone na superclasse abstrata do modelo. 
II- O padrão Singleton está direcionado para as situações onde precisamos manter uma única instancia de 
uma classe durante toda a execução da aplicação. 
III- O padrão Singleton é bastante útil para guardar o estado de um objeto em determinados momentos. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente os itens II e III; 
 Somente o item II; 
 Somente o item I; 
 Somente os itens I e III; 
 Somente os itens I e II; 
Respondido em 30/03/2019 11:51:18 
 
 
Explicação: 
Os itens I e III estão errados porque eles se referem ao padrão Prototype. 
 
 
 
 
 5a Questão 
 
 
(CESGRANRIO - 2006 - Petrobrás ) Christopher Alexander afirma: "cada padrão descreve um problema no nosso ambiente e o cerne da sua 
solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca faze-lo da mesma maneira". Muito embora 
Alexander estivesse falando a cerca de padrões em construções e cidades, o que ele diz é verdadeiro em relação aos padrões de projeto 
orientados a objeto. Neste caso, as soluções são expressas em termos de objetos e interfaces em vez de paredes e portas, mas no cerne de 
ambos os tipos de padrões está a solução para um problema num determinado contexto. Quanto à indicação para o uso dos padrões de 
projeto é FALSO afirmar que o padrão: 
 
 Builder é indicado quando: uma classe não pode antecipar a classe de objetos que deve criar; uma classe quer que suas subclasses 
especifiquem os objetos que criam; classes delegam responsabilidade para uma dentre várias subclasses auxiliares, e você quer 
localizar o conhecimento de qual subclasse auxiliar que é a delegada. 
 
Mediator é indicado quando: um conjunto de objetos se comunica de maneiras bem definidas, porém complexas; a reutilização de um 
objeto é difícil porque ele referencia e se comunica com muitos outros objetos; um comportamento que está distribuído entre várias 
classes deveria ser customizável, ou adaptável, sem excessiva especialização em subclasses. 
 
Memento é indicado quanto: um instantâneo de estado de um objeto deve ser salvo de maneira que possa ser restaurado para esse 
estado mais tarde; uma interface direta para obtenção do estado exporia detalhes de implementação e romperia o encapsulamento do 
objeto. 
 
Abstract Factory é indicado quando: um sistema deve ser independente de como seus produtos são criados, compostos ou 
representados; um sistema deve ser configurado como um produto de uma família de múltiplos produtos; uma família de objetos-
produto for projetada para ser usada em conjunto, e você necessita garantir esta restrição; você quer fornecer uma biblioteca de 
classes de produtos e quer revelar somente suas interfaces, não suas implementações. 
 
Composite é indicado quando: quiser representar hierarquias partes-todo de objetos; quiser que os clientes sejam capazes de ignorar 
a diferença entre composições de objetos e objetos individuais, neste caso, os clientes tratarão todos os objetos na estrutura 
composta de maneira uniforme. 
Respondido em 30/03/2019 12:02:29 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
Essa afirmativa é falsa porque o BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a 
CONSTRUÇÃO 
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um 
construtor. Isso é comum em desenvolvedores iniciantes. 
 
 
 
 
 6a Questão 
 
 
Qual padrão separa a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar 
diferentes representações? 
 
 
Nenhuma das anteriores. 
 
Factory Method. 
 
Prototype. 
 Builder. 
 
Singleton. 
Respondido em 30/03/2019 12:03:31 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de 
um construtor. Isso é comum em desenvolvedores iniciantes. 
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO 
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um 
construtor. Isso é comum em desenvolvedores iniciantes. 
 
 
 
 
 7a QuestãoO padrão Builder é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar que: 
I- O padrão Builder é um padrão utilizado na instanciação de objetos complexos. 
II- O padrão Builder tem a função de tentar minimizar a carga que os desenvolvedores têm ao ato de criar 
objetos dentro de um construtor. 
III- O padrão Builder é bastante útil para guardar o estado de um objeto em determinados momentos. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente os itens II e III; 
 Somente o item I; 
 Somente os itens I e III; 
 Somente os itens I e II; 
 Somente o item II; 
Respondido em 30/03/2019 12:04:58 
 
 
Explicação: 
O item III está errado porque ela se refere ao padrão Prototype. 
 
 
 
 
 8a Questão 
 
 
Assinale a afirmativa correta sobre o padrão Builder: 
 
 
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida 
 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. 
 
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. 
 
é 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 
Respondido em 30/03/2019 12:05:44 
 
 
Explicação: 
O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO 
O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é comum em 
desenvolvedores iniciantes. 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
2a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
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. 
 
 
 
SINGLETON. 
 
FACTORY METHOD. 
 BUILDER. 
 
FACADE. 
 
MEDIATOR. 
Respondido em 30/03/2019 12:07:15 
 
 
Explicação: 
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO 
Tentam minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores 
iniciantes. 
 
 
 
 2a Questão 
 
 
Segundo Metsker, 2004, o padrão de projeto ______________ tem como solução mover a lógica de construção de uma classe para um objeto 
externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa classe. 
 
Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. 
 
 
MEDIATOR. 
 
FACTORY METHOD. 
 BUILDER. 
 
SINGLETON. 
 
FACADE. 
Respondido em 30/03/2019 12:07:49 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: 
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Os Padrões de Criação Fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo, qual 
classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões 
O padrão Builder tem a função de separar a construção de objeto complexo da representação para criar representações diferentes com mesmo processo. 
O padrão Builder pode ser visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas 
com a criação de um novo objeto. 
 
 
 
 3a Questão 
 
 
Qual é o padrão GoF criacional correspondente ao código abaixo? 
 public static void main(String[] args) { 
 ObraPadrao obraPadrao = new ObraPadrao(); 
 ObraPadrao obraNova = obraPadrao.clonar(); 
 obraNova.setValor(200000.0); 
 ..... 
 ..... 
 
 
Factory Method 
 
Adapter 
 
Builder 
 
Singleton 
 Prototype 
Respondido em 30/03/2019 12:08:23 
 
 
Explicação: 
O padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos objetos ao 
copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone na superclasse 
abstrata do modelo (Prototype) 
 
 
 
 
 4a Questão 
 
 
O padrão Prototype é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar que: 
I- O padrão de projeto Prototype declara um método chamado clone na superclasse abstrata do modelo. 
II- O padrão Prototype tem a função de tentar minimizar a carga que os desenvolvedores têm ao ato de 
criar objetos dentro de um construtor. 
III- O padrão Prototype é bastante útil para guardar o estado de um objeto em determinados momentos. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente o item I; 
 Somente o item II; 
 Somente os itens I e III; 
 Somente os itens I e II; 
 Somente os itens II e III; 
Respondido em 30/03/2019 12:09:05 
 
 
Explicação: 
O item II está errado porque ela se refere ao padrão Builder. 
 
 
 
 
 5a Questão 
 
 
¿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. 
 
 
Singleton 
 
Facade 
 Builder 
 
Abstract Factory 
 
Factory Method 
Respondido em 30/03/2019 12:10:29 
 
 
 
 
 6a Questão 
 
 
O padrão de projeto singleton é usado para restringir: 
 
 
as relações entre classes e objetos. 
 
classes de atributos complexos 
 
a instanciação de uma classe para objetos simples. 
 a instanciação de uma classe para apenas um objeto. 
 
a quantidade de classes 
Respondido em 30/03/2019 12:11:02 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
 
 
 
 
 7a Questão 
 
 
(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 correspondea 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. 
 
Factory Method. 
 
Abstract Factory. 
 
Command. 
 
Builder. 
Respondido em 30/03/2019 12:17:20 
 
 
 
 
 8a Questão 
 
 
O padrão Singleton é um Padrão de Criação GoF. A grande vantagem deste padrão é: Assinale a única 
resposta CORRETA. 
 
 Criação "preguiçosa" é complicada em ambiente multithreaded; 
 Difícil de testar (simulações dependem de instância extra); 
 Acesso central e extensível a recursos e objetos; 
 Difícil ou impossível de implementar em ambiente distribuído; 
 Qualidade da implementação depende da linguagem; 
Respondido em 30/03/2019 12:22:25 
 
 
Explicação: 
Esta afirmativa é CORRETA porque as outras dizem respeito a desvantagens do padrão Singletos. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
2a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Qual padrão especifica os tipos de objetos a serem criados usando uma instância-protótipo e cria novos objetos pela cópia desse protótipo? 
 
 
Factory Method. 
 
Singleton. 
 
Abstract Factory. 
 Prototype. 
 
Nenhuma das anteriores. 
Respondido em 30/03/2019 12:23:28 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton 
O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO 
Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos 
objetos ao copiar este protótipo. 
 
 
 
 
 2a Questão 
 
 
O padrão de projeto Singleton é usado para restringir: 
 
 
Classes de atributos complexos. 
 A instanciação de uma classe para apenas um objeto. 
 
A instanciação de uma classe para objetos simples. 
 
A quantidade de classes. 
 
As relações entre classes e objetos. 
Respondido em 30/03/2019 12:24:01 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os 
objetos criados e evitar acesso público. 
 
 
 
 
 3a Questão 
 
 
Acerca dos padrões de criação e de padrões estruturais, assinale a opção correta. 
 
 
São participantes do padrão Façade: o cliente, o alvo, o adaptador e o adaptado. 
 
São exemplos de padrões estruturais: Adapter, Façade, Proxy, Composite, Decorator e Chain of Responsibility. 
 
O padrão adaptador de classe (class adapter) facilita acomodar a adaptação de subclasses de uma classe previamente adaptada. 
 O uso do padrão singleton apresenta como consequências uma redução do uso de variáveis globais e uma melhor organização do 
espaço de nomes de um software orientado a objetos. 
 Uma das consequências do uso do padrão Prototype é o aumento no uso de subclasses. 
Respondido em 30/03/2019 12:25:57 
 
 
Explicação: 
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
 
 
 
 
 4a Questão 
 
 
O padrão de projeto Singleton é usado para restringir: 
 
 
São A instanciação de uma classe para objetos simples. 
 A instanciação de uma classe para apenas um objeto 
 
A quantidade de classes. 
 
Um Classes de atributos complexos. 
 
As relações entre classes e objetos 
Respondido em 30/03/2019 12:26:51 
 
 
Explicação: 
Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema independente 
de como seus objetos são criados, compostos e representados. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os 
objetos criados e evitar acesso público. 
 
 
 
 
 5a Questão 
 
 
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. 
 
 
 
FACTORY METHOD. 
 
BUILDER. 
 
MEDIATOR. 
 
SINGLETON. 
 PROTOTYPE. 
Respondido em 30/03/2019 12:27:25 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: 
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por 
exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas 
decisões 
O padrão Prototype por definição ¿Especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos 
ao copiar este protótipo¿. Declara um método chamado clone na superclasse abstrata do modelo (Prototype). 
 
 
 
 6a Questão 
 
 
O padrão Singleton é um Padrão de Criação GoF. A estrutura desse padrão utiliza alguns recursos. Assinale 
o único recurso que NÃO pertence a esse padrão. 
 
 Declarar o método getInstance como synchronized para que o método seja executado por uma 
thread por vez, quando utilizado em programas multi-thread; 
 Construtor da classe privado, para não permitir a instância de novos objetos da classe; 
 Modificando as aplicações para este padrão de projeto para que a facilidade de instanciar classes em 
tempo de execução possa acontecer; 
 Modificadores static e private para garantiruma mesma instância para todos os objetos criados e 
evitar acesso público; 
 Modificar static para implementar o método getInstance e, assim, retornar a instancia apropriada ou 
criá-la, caso seja a primeira vez; 
Respondido em 30/03/2019 12:29:57 
 
 
Explicação: 
Esta afirmativa NÃO pertence ao padrão Singleton, porque está relacionada ao padrão Prototype. 
 
 
 
 
 7a Questão 
 
 
Qual o objetivo do padrão Builder? Assinale a opção INCORRETA. 
 
 Separar a construção de um objeto complexo da sua representação de modo que o mesmo processo 
de construção possa criar diferentes representações. 
 É utilizado na instanciação de objetos complexos. 
 Declara um método chamado clone na superclasse abstrata do modelo. 
 Atribuir a responsabilidade de criação do objeto complexo a outra classe. 
 Minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor. 
Respondido em 30/03/2019 12:30:20 
 
 
Explicação: 
Essa afirmativa está INCORRETA porque ela se refere ao padrão Prototype. 
 
 
 
 
 8a Questão 
 
 
Qual padrão garante que uma classe tem somente uma instância e fornece um ponto global de acesso a mesma? 
 
 
Nenhuma das anteriores. 
 
Builder. 
 
Factory Method. 
 
Abstract Factory. 
 Singleton. 
Respondido em 30/03/2019 12:30:52 
 
 
Explicação: 
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve 
decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões. 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em 
programação orientada a objetos. 
Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante 
toda a execução da aplicação. 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. 
Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os 
objetos criados e evitar acesso público. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
3a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Os Padrões de Projeto (GOF) que se apresentam com o formato de uma Lista Encadeada (estrutura de dados) quando são representados por 
um Diagrama de Objetos (UML) e se classificam, respectivamente, como Padrão de Projeto Estrutural e Padrão de Projeto Comportamental, 
são conhecidos como: 
 
 
Observer e Chain of Responsibility 
 Decorator e Chain of Responsibility 
 Observer e Decorator 
 
Decorator e Observer 
 
Chain of Responsibility e Decorator 
Respondido em 09/04/2019 11:40:00 
 
 
 
 
 2a Questão 
 
 
Qual padrão compõe objetos em estruturas de árvore para representarem hierarquias partes-todos e permite aos clientes tratarem de maneira 
uniforme os objetos individuais e as composições de objetos? 
 
 Composite. 
 
Flyweight. 
 
Nenhuma das anteriores. 
 
Proxy. 
 
Builder. 
Respondido em 09/04/2019 11:40:44 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; 
associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas 
para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais. 
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte. 
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
 3a Questão 
 
 
O padrão Composite é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que: 
I- O padrão de projeto Composite permite anexar responsabilidades adicionais a um objeto (em caráter 
dinâmico) dinamicamente. 
II- O padrão Composite permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou 
com vários alunos da mesma forma), o que permite uma programação muito mais leve. 
III- O padrão Composite permite que clientes tratem objetos individuais e composições de objetos de 
maneira uniforme. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente os itens II e III; 
 Somente os itens I e III; 
 Somente os itens I e II; 
 Somente o item I; 
 Somente o item II; 
Respondido em 09/04/2019 11:41:58 
 
 
Explicação: 
O item I está errado porque ela se refere ao padrão Decorator. 
 
 
 
 
 4a Questão 
 
 
A classe java.util.Map da API de coleções de Java permite que sejam armazenados pares de objetos 
(chave e valor) em uma de suas implementações (as mais conhecidas são HashMap e TreeMap). No 
entanto, estas classes não possuem um construtor que receba como parâmetro uma matriz de duas 
linhas e que monte o mapa usando a primeira linha como chave e a segunda como coluna. 
Qual padrão utilizar para resolver o problema acima? 
 
 
 
Observer 
 
Interpreter 
 
Iterator 
 Adapter 
 
Chain of Responsibility 
Respondido em 09/04/2019 11:43:19 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; 
associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas 
para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais. 
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por programadores 
diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces 
diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as 
funcionalidades e interfaces da classe já existente. 
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com 
a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no 
sistema. 
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa 
implementação realizada, mantém a uniformidade do seu projeto original. 
 
 
 
 
 5a Questão 
 
 
Dado o diagrama de classe identifique o padrão GoF estrutual: 
 
 
 
Proxy 
 
Facade 
 Composite 
 
Flyweight 
 
Decorator 
Respondido em 09/04/2019 11:43:53 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Composite: Compor objetos em estruturas de árvore para representar hierarquias todo-parte. Composite 
permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
 6a Questão 
 
 
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: 
 
 
Singleton 
 
protype 
 
Bridge 
 
Instance 
 Decorator. 
Respondido em 09/04/2019 11:44:24 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. Decorators oferecem uma 
alternativa flexível ao usode herança para estender uma funcionalidade. 
 
 
 
 7a Questão 
 
 
Qual o objetivo do padrão Compositer? Assinale a opção INCORRETA. 
 
 Composite permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. 
 Composite permite que o ganho que eu tenho com a programação para a interface seja enorme. 
 Composite permite que clientes tratem objetos individuais e composições de objetos de maneira 
uniforme. 
 Composite permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou com 
vários alunos da mesma forma), o que permite uma programação muito mais leve. 
 Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte. 
Respondido em 09/04/2019 11:44:56 
 
 
Explicação: 
Essa afirmativa está INCORRETA, porque as outras se referem ao padrão Decorator. 
 
 
 
 
 8a Questão 
 
 
Imagine que você está desenvolvendo um sistema para um bar especializado em coquetéis, onde 
existem vários tipos de coquetéis que devem ser cadastrados para controlar a venda. Os coquetéis 
são feitos da combinação de uma bebida base e vários outros adicionais que compõe a bebida. Por 
exemplo: 
Conjunto de bebidas: 
 Cachaça 
 Rum 
 Vodka 
 Tequila 
Conjunto de adicionais: 
 Limão 
 Refrigerante 
 Suco 
 Leite condensado 
 Gelo 
 Açúcar 
Então, como possíveis coquetéis temos: 
 Vodka + Suco + Gelo + Açúcar 
 Tequila + Limão + Sal 
 Cachaça + Leite Condensado + Açúcar + Gelo 
Qual padrão você usaria para representar a estrutura acima? 
 
 
Façade 
 Decorator 
 
State 
 
Observer 
 
Strategy 
Respondido em 09/04/2019 11:45:59 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma 
funcionalidade (para a extensão de funcionalidade). 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
3a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
(FUNCAB - 2010) Segundo Trott e Shalloway, o princípio de projetar a partir de um contexto, é um conceito para criar a visão global antes de 
se projetar os detalhes que aparecem nos componentes. Das opções seguintes, o padrão de projeto que é um melhor exemplo de aplicação 
desse princípio é: 
 
 
abstract factory 
 
canvas 
 bridge 
 
faça de 
 adapter 
Respondido em 09/04/2019 11:46:58 
 
 
Explicação: 
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
O padrão Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois possam variar 
independentemente. 
 
 
 
 
 2a Questão 
 
 
Qual o objetivo do padrão Decorator? Assinale a opção CORRETA. 
 
 Decorator permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou com 
vários alunos da mesma forma), o que permite uma programação muito mais leve. 
 Decorator compõem objetos em estruturas de árvore para representar hierarquias todo-parte. 
 Decorator permite que clientes tratem objetos individuais e composições de objetos de maneira 
uniforme. 
 Decorator permite que o ganho que eu tenho com a programação para a interface seja enorme. 
 Decorator permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. 
Respondido em 09/04/2019 11:47:41 
 
 
Explicação: 
Essa afirmativa está correta, porque as outras se referem ao padrão Composite. 
 
 
 
 
 3a Questão 
 
 
Escolha a opção que descreve o objetivo do ¿Composite¿: 
 
 Compor objetos em estruturas de árvore para representar hierarquias todo-parte. O Composite permite que clientes tratem objetos 
individuais e composições de objetos de maneira uniforme. 
 
Compor objetos em estruturas de árvore para representar heranças de classes abstratas, que serão instanciadas. O Composite 
permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 
 
Compor objetos em estruturas sequenciais para representar hierarquias de herança aplicada. O Composite permite que clientes 
tratem objetos individuais e composições de objetos de maneira uniforme. 
 
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. Composite permite que clientes tratem objetos em 
grupo e não objetos de maneira uniforme. 
 
Criar instancias de objetos em estruturas que representam hierarquias de dependência de plataforma de implementação. O 
Composite permite que clientes tratem objetos distintos, e as composições, desses objetos de maneira parecidas. 
Respondido em 09/04/2019 11:48:30 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte. 
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
 4a Questão 
 
 
Qual padrão estrutural permite que um objeto utilize serviços 
de outros objetos com interfaces diferentes por meio de uma 
interface única: 
 
 
 Bridge 
 
Flyweight 
 
Composite 
 Adapter 
 
Facade 
Respondido em 09/04/2019 11:49:01 
 
 
 
 
 5a Questão 
 
 
Qual padrão observamos no diagrama de classes abaixo? 
 
 
 
 
Bridge 
 
FlyWeight 
 
Prototype 
 Decorator 
 Composite 
Respondido em 09/04/2019 11:49:36 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma 
funcionalidade (para a extensão de funcionalidade). 
 
 
 
 
 6a Questão 
 
 
Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar objetos pode 
nos levar a alguns problemas dos quais podemos citar, exceto: 
 
 
A aplicação cliente fica acoplada diretamente a uma implementação concreta para poder usar diretamente o construtor 
 
Cliente pode não ter ou não saber todos os dados necessários para instanciar um objeto através de construtores 
 
Usando diretamente os métodos construtores não há como limitar o número de instâncias criadas 
 
Objeto complexo pode necessitar da criação de objetos menores previamente, com certo controle difícil de implementar com 
construtores 
 Não é preciso saber a classe concreta do objeto para criá-lo 
Respondido em 09/04/2019 11:51:17 
 
 
 
 
 7a Questão 
 
 
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 afirmativasestão todas corretas 
 
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 I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas I, II, III estão incorretas 
Respondido em 09/04/2019 11:52:39 
 
 
Explicação: 
O conceito do Adapter é converter a interface de uma classe em outra interface esperada pelos clientes. Adapter permite a comunicação entre 
classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. 
A ideia é fazer adaptação entre dois recursos. 
Devemos usar sempre que for necessário adaptar uma interface para um cliente 
Vejamos o exemplo da tomada. O plug é três pinos, e a tomada é de dois pinos, então eu tenho que ter uma classe adaptadora. 
 
 
 
 8a Questão 
 
 
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 _____________________________. 
 
 Decorator; 
 
Associativa; 
 
Beidge; 
 
Composite; 
 
Adapter; 
Respondido em 09/04/2019 11:53:09 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
3a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Qual padrão estrutural permite que um objeto utilize serviços 
de outros objetos com interfaces diferentes por meio de uma 
interface única: 
 
 
 
Flyweight 
 
Composite 
 
Bridge 
 
Facade 
 Adapter 
Respondido em 23/04/2019 16:20:00 
 
 
 
 
 2a Questão 
 
 
Qual é o padrão GoF estrutural correspondente ao código abaixo? 
public class Main { 
public static void main(String[] args) { 
Carro carro = new CrossFox(); 
System.out.println("Produto: " + carro.getProdutos()); 
System.out.println("Preço: R$ " + carro.getCusto()); 
// Adiconando Ar e Travas 
carro = new CarroComArCondicionado(carro); 
carro = new CarroComTravaEletrica(carro); 
System.out.println("Produto: " + carro.getProdutos()); 
System.out.println("Preço: R$ " + carro.getCusto()); 
} 
} 
....... 
 
 Decorator 
 Composite 
 
Adapter 
 
Mediator 
 
Bridge 
Respondido em 23/04/2019 16:20:44 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) 
dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma 
funcionalidade (para a extensão de funcionalidade). 
 
 
 
 
 3a Questão 
 
 
Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar objetos pode 
nos levar a alguns problemas dos quais podemos citar, exceto: 
 
 Cliente pode não ter ou não saber todos os dados necessários para instanciar um objeto através de construtores 
 
Usando diretamente os métodos construtores não há como limitar o número de instâncias criadas 
 Não é preciso saber a classe concreta do objeto para criá-lo 
 
A aplicação cliente fica acoplada diretamente a uma implementação concreta para poder usar diretamente o construtor 
 
Objeto complexo pode necessitar da criação de objetos menores previamente, com certo controle difícil de implementar com 
construtores 
Respondido em 23/04/2019 16:21:30 
 
 
 
 
 4a Questão 
 
 
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. 
 
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 estão todas corretas 
Respondido em 23/04/2019 16:22:07 
 
 
Explicação: 
O conceito do Adapter é converter a interface de uma classe em outra interface esperada pelos clientes. Adapter permite a comunicação entre 
classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. 
A ideia é fazer adaptação entre dois recursos. 
Devemos usar sempre que for necessário adaptar uma interface para um cliente 
Vejamos o exemplo da tomada. O plug é três pinos, e a tomada é de dois pinos, então eu tenho que ter uma classe adaptadora. 
 
 
 
 5a Questão 
 
 
O padrão Bridger é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que 
(assinale a opção INCORRAETA). 
 
 O padrão Bridge desacopla uma abstração de sua implementação para que os dois possam variar 
independentemente; 
 O padrão Bridge é usado quando for necessário evitar uma ligação permanente entre a interface e 
implementação; 
 O padrão Bridge permiti que o sistema consiga se adaptar dinamicamente a diferentes plataformas é 
mais desejável ainda; 
 No padrão Bridge a solução natural quando se pretende desenvolver uma determinada solução para 
duas plataformas diferentes é utilizar herança, implementando uma classe derivada para cada 
situação; 
 O padrão Bridge converte a interface de uma classe em outra interface esperada pelos clientes; 
Respondido em 23/04/2019 16:22:52 
 
 
Explicação: 
Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter. 
 
 
 
 
 6a Questão 
 
 
Qual padrão compõe objetos em estruturas de árvore para representarem hierarquias partes-todos e permite aos clientes tratarem de maneira 
uniforme os objetos individuais e as composições de objetos? 
 
 
Flyweight. 
 Composite. 
 
Nenhuma das anteriores. 
 
Builder. 
 
Proxy. 
Respondido em 23/04/2019 16:23:14 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e 
colaboração mutua. 
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; 
associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas 
para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais. 
O padrão Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte. 
Composite permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
 7a Questão 
 
 
Qual o padrão Gof utilizado na figura abaixo? 
 
 
 
 
Composite 
 Observer 
 
Façade 
 Adapter 
 
Singleton 
Respondido em 23/04/2019 16:24:15 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por programadores 
diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces 
diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as 
funcionalidades e interfaces da classe já existente.A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com 
a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no 
sistema. 
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa 
implementação realizada, mantém a uniformidade do seu projeto original. 
 
 
 
 
 8a Questão 
 
 
Qual padrão converte uma interface de uma classe em outra interface e permite que classes com interfaces incompatíveis trabalhem em 
conjunto? 
 
 
Composite. 
 
Decorator. 
 
Bridge. 
 Adapter. 
 
Nenhuma das anteriores. 
Respondido em 23/04/2019 16:24:56 
 
 
Explicação: 
O padrão Adpater é bastante utilizado para compatibilizar classes implementadasas por programadores 
diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces 
diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as 
funcionalidades e interfaces da classe já existente. 
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com 
a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no 
sistema. 
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa 
implementação realizada, mantém a uniformidade do seu projeto original. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
4a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
Qual padrão usa compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina? 
 
 
Composite. 
 
Nenhuma das anteriores. 
 
Bridge. 
 Flyweight. 
 
Façade. 
Respondido em 22/04/2019 20:18:45 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, 
Decorator, Façade, Flyweight e Proxy. 
Flyweight é um padrão de projeto de software apropriado quando vários objetos devem ser manipulados 
em memória sendo que muitos deles possuem informações repetidas. Dado que o recurso de memória é 
limitado, é possível segregar a informação repetida em um objeto adicional que atenda as características 
de imutabilidade e comparabilidade (que consiga ser comparado com outro objeto para determinar se 
ambos carregam a mesma informação). 
 
 
 
 
 2a Questão 
 
 
Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA. 
 
 Proxy define uma interface de nível mais elevado que torna o subsistema mais fácil de usar; 
 Proxy oferece uma interface única para um conjunto de interfaces de um subsistema; 
 Proxy faz uma fachada única para todas as fachadas; 
 Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a outro; 
 Proxy expurga o código e delega a uma classe, a terceiros; 
Respondido em 22/04/2019 20:23:09 
 
 
Explicação: 
Essa afirmativa está correta, porque as outras se referem ao padrão Façade. 
 
 
 
 
 3a Questão 
 
 
Que padrão estrutural usa compartilhamento para suportar um grande número de pequenos objetos de forma eficiente. 
 
 
 Flyweight 
 
Composite 
 
Facade 
 
Bridge 
 
Decorator 
Respondido em 22/04/2019 20:23:52 
 
 
 
 
 4a Questão 
 
 
(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 
 
 
Observer. 
 Façade. 
 
Prototype. 
 
Flyweight. 
 
Decorator. 
Respondido em 22/04/2019 20:24:33 
 
 
 
 
 5a Questão 
 
 
O padrão Flyweight é um Padrão Estrutural GoF. Qual o melhor momento em que podemos usar esse 
padrão? 
I- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em 
que eles são usados na aplicação. 
II- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre como um 
objeto independente). 
III- Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos mutáveis de 
imutáveis. 
Est(á)ão correta(s) a(s) afirmativa(s): 
 
 Somente os itens II e III; 
 Somente o item II; 
 Somente os itens I e III; 
 Somente o item I; 
 Somente os itens I e II; 
Respondido em 22/04/2019 20:25:43 
 
 
Explicação: 
O item III está errado porque não devemos usar esse padrão quando isso ocorre. 
 
 
 
 
 6a Questão 
 
 
A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um 
conjunto de subsistemas e fornecer uma resposta imediata para a classe cliente. Assinale dentre as principais vantagens desse padrão de 
projeto a única que não é verdadeira.: 
 
 
Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta. 
 
Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação. 
 
judar a melhorar portabilidade dos sistemas. 
 
Incentivar acoplamento fraco entre o subsistema e seus clientes. 
 Incentivar acoplamento forte entre o subsistema e seus clientes. 
Respondido em 22/04/2019 20:28:18 
 
 
 
 
 7a Questão 
 
 
O padrão _________________ controla o acesso ao objeto original. Fornece um substituto ou marcador da localização de outro objeto para 
controlar o seu acesso. 
Qual padrão abaixo corresponde ao descrito acima? 
 
 
Memento 
 Proxy 
 
Singleton 
 
Interpreter 
 
Adapter 
Respondido em 22/04/2019 20:28:50 
 
 
Explicação: 
O padrão Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua como seu 
substituto, ou como um envoltório. 
 
 
 
 
 8a Questão 
 
 
Quanto às vantagens, assinale a opção INCORRETA sobre o padrão Façade. 
 
 Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes 
em que eles são usados na aplicação; 
 O cliente não precisa conhecer todas as regras de negócio envolvidas com a concessão de um 
empréstimo; 
 Havendo mudança em alguma regra de negócio, basta realizar as alterações necessárias na classe 
Façade; 
 Sempre que for desejável, cria uma interface para um conjunto de objetos com o objetivo de facilitar 
o uso da aplicação; 
 Permite que objetos individuais cuidem de uma única tarefa, deixando que a fachada se encarregue 
de divulgar as suas operações; 
Respondido em 22/04/2019 20:29:45 
 
 
Explicação: 
Essa afirmativa está incorreta, porque ela se refere ao padrão Flyweight. 
 
 
 
 
 
 
 
 
 
PADRÕES DE PROJETO DE SOFTWARE 
4a aula Lupa 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
 
 1a Questão 
 
 
A utilização do padrão estrutural de projeto cula ideia é utilizar um substituto para o objeto real, mantendo a mesma interface do original 
sempre que for inconveniente, ou indesejável, acessá-lo diretamente é conhecido como: 
 
 
Decorator; 
 Flyweight 
 Proxy; 
 
Composite. 
 
Façade; 
Respondido em 22/04/2019 20:30:36 
 
 
 
 
 2a Questão 
 
 
Qual padrão de projeto tem como propósito prover interface unificada para conjunto de interfaces em um subsistema, definindo uma interface 
de alto-nível. 
 
 Facade 
 
Singleton 
 
Decorator 
 
Factory Method 
 
Strategy 
Respondido em 22/04/2019 20:31:08 
 
 
Explicação: O Padrão Façade é do tipo estrutural . É usado quando um sistema é muito complexo ou difícil de entender, já que possui um 
grande número de classes independentes ou se trechos de código fonte estão indisponíveis. Este padrão esconde as complexidades de um 
sistema maior e provê uma interface simplificada ao cliente. Tipicamente envolve uma única

Outros materiais