Buscar

PADRÕES DE PROJETO DE SOFTWARE TESTE

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 116 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 116 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 116 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.
		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.
	
	
	
	Apenas a sentença II está correta
	
	
	Apenas as sentenças I e II estão corretas
	
	
	Apenas as sentenças I e III estão corretas
	
	
	Todas as sentenças estão corretas
	
	
	Apenas as sentenças II e III estão corretas
	
Explicação:
Isso porque padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia, seja na área de desenvolvimento de software, seja em qualquer outra área do conhecimento.
Os padrões de projeto 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.
	
	
	
	 
		
	
		2.
		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.
	
	
	
	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.
	
	
	É uma descrição nomeada de um problema e solução que pode ser aplicado em novos contextos.
	
	
	O nome do padrão é utilizado para agrupar ideias em um conceito.
	
	
	São definidos por especialistas de problemas e servem para aplicação direta em qualquer contexto.
	
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais:
A partir das diversas definições de padrões de projeto, podemos chegar as seguintes características, como por exemplo: Capturam soluções de projeto exaustivamente refinadas com o passar do tempo; 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.
Assim, chegamos à conclusão que esta é a única alternativa que não define uma característica atribuída aos padrões.
 
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		3.
		Qual padrão fornece uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas?
	
	
	
	Builder.
	
	
	Factory Method.
	
	
	Nenhuma das anteriores.
	
	
	Abstract Factory.
	
	
	Adapter.
	
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.
	
	
	
	 
		
	
		4.
		Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta:
I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter.
II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton.
III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua.
	
	
	
	Apenas as sentenças I e III estão corretas
	
	
	Apenas as sentenças I e II estão corretas
	
	
	Todas as sentenças estão corretas
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas a sentença II está correta
	
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
O item II está errado porque 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.
Eles são associados ao processo de criação de objetos, e tornam um sistema independente de como seus objetos são criados, compostos e representados.
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.
	
	
	
	 
		
	
		5.
		Quanto aos design patterns, é correto afirmar que:
	
	
	
	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.
	
	
	descrevem melhores práticas, bons projetos, e captam a experiência de uma maneira possível de ser usada por outros.
	
	
	são conjuntos de classes abstratas e concretas que podem ser adaptadas e ampliadas para criar sistemas de aplicações.
	
	
	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.
	
	
	
	 
		
	
		6.
		Sabendo que as soluções para os padrões de projeto são divididas em três tipos, de acordo com as características destes tipos informe a sequencia correta. 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.
	
	
	
	I - Estrutural, II - Comportamental, III - Estrutural
	
	
	I - Criacional, II - Estrutural, III - Comportamental
	
	
	I - Comportamental, II - Estrutural, III - Criacional
	
	
	I - Criacional, II - Comportamental, III - Estrutural
	
	
	I - Comportamental, II - Criacional, III - Estrutural
	
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 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.
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 objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua.
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.
	
	
	
	 
		
	
		7.
		O Design Patternsque tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado
	
	
	
	State
	
	
	Strategy
	
	
	Builder
	
	
	Flyweight
	
	
	Composite
	
	
	
	 
		
	
		8.
		Quais dos padrões abaixo corresponde aos padrões de criação.
	
	
	
	Abstract Factory, Builder, Factory Method
	
	
	Adapter, Bridge, Composite.
	
	
	Singleton, Strategy, Template Method
	
	
	Chain of Responsibility, Command, Iterator
	
	
	Mediator, Memento, Observer
	
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.
	
		1.
		Como a adoção de um padrão de projeto pode auxiliar o desenvolvimento de software?
	
	
	
	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
	
	
	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
	
	
	
	 
		
	
		2.
		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)
	
	
	Safe (seguro), Secure (confiável ) e Stable (estável)
	
	
	Maintenance (manutenção), Fault tolerance (tolerante a falhas), 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)
	
	
	
	 
		
	
		3.
		(FESMIP-BA - 2011) Segundo a classificação de Design Patterns apresentada pela GoF, identifique com V os padrões comportamentais e com F, os demais.
( ) Observer.
( ) Iterator.
( ) Façade.
( ) Composite.
( ) Visitor.
A alternativa que contém a sequência correta, de cima para baixo, é a
	
	
	
	F F V V V
	
	
	V F F V F
	
	
	V V F F V
	
	
	V V V V V
	
	
	F V V V F
	
	
	
	 
		
	
		4.
		(FCC-2011) Os design patterns
	
	
	
	são de uso exclusivo em processos de desenvolvimento de soluções orientado a objetos, já que os objetos são a mais adequada abstração para o reúso.
	
	
	consistem em conjuntos de classes que um usuário instancia para utilizar seus métodos. Após a chamada ao método, o controle do fluxo da aplicação retorna para o usuário.
	
	
	são projetos de arquitetura para um domínio específico de aplicação e sempre trazem componentes predefinidos que envolvem código de programação.
	
	
	são aplicações propriamente ditas, normalmente construídas pela integração de diversos frameworks.
	
	
	podem ser modelados utilizando-se a linguagem UML que fornece um meio eficiente de modelar pa- drões de projeto representando-os como colaborações.
	
	
	
	 
		
	
		5.
		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
	
	
	builter e abstract factory.
	
	
	singleton e façade
	
	
	façade e singleton
	
	
	abstract factory e composite.
	
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.
	
	
	
	 
		
	
		6.
		(CESGRANRIO - 2008 - BNDES - Profissional Básico - Especialidade - Análise de Sistemas) Ao alterar o estado de uma classe, o desenvolvedor deseja que uma ou mais classes da interface gráfica sejam modificadas. Entretanto, o desenvolvedor não acha interessante criar um acoplamento forte entre essas classes. Qual padrão de projeto comportamental é mais adequado para resolver essa situação?
	
	
	
	Abstract Factory
	
	
	Decorator
	
	
	Composite
	
	
	Observer
	
	
	Adapter
	
	
	
	 
		
	
		7.
		O modelo GoF (Gang of Four) são padrões de projeto de software com 23 modelos (ou soluções) de soluções para o desenvolvimento de algoritmos baseados no paradigma orientado a objetos. Esses modelos são classificados em subcategorias com propósitos comuns. Sabendo disso, assinale apenas uma das opções abaixo que é uma afirmativa verdadeira sobre os padrões GoF:
	
	
	
	Os modelos dos padrões GoF são agrupados em quatros categorias, sendo-as: Padrões de Criação, Padrões Estruturais, Padrões Organizacionais e Padrões Comportamentais.
	
	
	Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões Estruturais e Padrões Comportamentais.
	
	
	Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões Estruturais e Padrões Organizacionais.
	
	
	Os modelos dos padrões GoF são agrupados em duas categorias, sendo-as: Padrões de Criação e Padrões Comportamentais.
	
	
	Os modelos dos padrões GoF são agrupados em três categorias, sendo-as: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
	
	
	
	 
		
	
		8.
		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?
 
	
	
	
	Strategy
	
	
	Template Method
	
	
	Singleton
	
	
	State
	
	
	Abstract Factory
	
	
		1.
		Assinale a afirmativa correta sobre o padrão Builder:
	
	
	
	é 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
	
	
	Um dosprincipais 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 é 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.
	
	
	A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida
	
	
	Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais.
	
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.
	
	
	
	 
		
	
		2.
		O padrão de projeto Singleton é usado para restringir:
	
	
	
	As relações entre classes e objetos.
	
	
	A instanciação de uma classe para apenas um objeto.
	
	
	A instanciação de uma classe para objetos simples.
	
	
	A quantidade de classes.
	
	
	Classes de atributos complexos.
	
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.
	
	
	
	 
		
	
		3.
		Qual padrão garante que uma classe tem somente uma instância e fornece um ponto global de acesso a mesma?
	
	
	
	Nenhuma das anteriores.
	
	
	Factory Method.
	
	
	Builder.
	
	
	Singleton.
	
	
	Abstract Factory.
	
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.
	
	
	
	 
		
	
		4.
		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 o item I;
	
	
	Somente o item II;
	
	
	Somente os itens II e III;
	
	
	Somente os itens I e II;
	
	
	Somente os itens I e III;
	
Explicação:
Os itens I e III estão errados porque eles se referem ao padrão Prototype.
	
	
	
	 
		
	
		5.
		O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;
	
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	As afirmativas I, III, estão corretas e II errada
	
	
	As afirmativas estão todas corretas
	
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O Singleton é um Padrão de Criação. Esses Padrões de Criação fornecem um guia de como instanciar objetos.
O objetivo do Singleton é garantir que uma classe só tenha uma única instância, e prover um ponto de acesso global a ela. Os Singletons são uma forma de implementar uma responsabilidade centralizada. O instanciamento do objeto pode ser feito quando a classe for carregada ou quando o método de criação for chamado pela primeira vez.
	
	
	
	 
		
	
		6.
		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?
	
	
	
	Singleton.
	
	
	Factory Method.
	
	
	Builder.
	
	
	Prototype.
	
	
	Nenhuma das anteriores.
	
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.
	
	
	
	 
		
	
		7.
		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¿
	
	
	
	Bridge
	
	
	Adapter
	
	
	Prototype
	
	
	Singleton
	
	
	nenhuma das alternativas
	
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)
	
	
	
	 
		
	
		8.
		O padrão Singleton é um Padrão de Criação GoF. A grande vantagem deste padrão é: Assinale a única resposta CORRETA.
	
	
	
	Qualidade da implementação depende da linguagem;
	
	
	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;
	
	
	Criação "preguiçosa" é complicada em ambiente multithreaded;
	
Explicação:
Esta afirmativa é CORRETA porque as outras dizem respeito a desvantagens do padrão Singletos.
		1.
		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) Mediatorfornece 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 i e ii
	
	
	somente a i
	
	
	somente a iii
	
	
	somente a ii e iii
	
	
	somente a ii
	
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.
	
	
	
	 
		
	
		2.
		Sobre o padrão ¿Builder ¿, escolha a opção que descreve seu(s) objetivo(s):
	
	
	
	Separar a construção de um objeto complexo de sua representação para que o mesmo processo de separação criar representações iguais mas com serviços diferentes.
	
	
	Unir a construção e implementação, de um objeto complexo, de sua representação para que o mesmo processo de instanciação possa criar representações diferentes.
	
	
	Concatenar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar representações diferentes.
	
	
	Separar a construção de um objeto que seja bem simples de sua representação para que o mesmo processo de construção possa criar representações iguais.
	
	
	Separar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar representações diferentes.
	
Explicação:
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.
	
	
	
	 
		
	
		3.
		O 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 I e III;
	
	
	Somente os itens I e II;
	
	
	Somente o item II;
	
	
	Somente o item I;
	
	
	Somente os itens II e III;
	
Explicação:
O item III está errado porque ela se refere ao padrão Prototype.
	
	
	
	 
		
	
		4.
		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.
	
	
	MEDIATOR.
	
	
	SINGLETON.
	
	
	FACADE.
	
	
	BUILDER.
	
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.
	
	
	
	 
		
	
		5.
		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.
	
	
	PROTOTYPE.
	
	
	MEDIATOR.
	
	
	BUILDER.
	
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).
	
	
	
	 
		
	
		6.
		O padrão de projeto Singleton é usado para restringir:
	
	
	
	A instanciação de uma classe para apenas um objeto
	
	
	São A instanciação de uma classe para objetos simples.
	
	
	As relações entre classes e objetos
	
	
	A quantidade de classes.
	
	
	Um Classes de atributos complexos.
	
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.
	
	
	
	 
		
	
		7.
		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
	
	
	Builder
	
	
	Singleton
	
	
	Adapter
	
	
	Prototype
	
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)
	
	
	
	 
		
	
		8.
		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, III estão incorretas
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
	
	As afirmativas estão todas corretas
	
	
	As afirmativas I, II, estão corretas e a afirmativa III está errada.
	
	
	As afirmativas I, III, estão corretas e II errada
	
Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
O 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.
	
		1.
		Qual padrão observamos no diagrama de classes abaixo?
 
	
	
	
	PrototypeComposite
	
	
	FlyWeight
	
	
	Decorator
	
	
	Bridge
	
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).
	
	
	
	 
		
	
		2.
		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:
	
	
	
	Decorator e Observer
	
	
	Chain of Responsibility e Decorator
	
	
	Decorator e Chain of Responsibility
	
	
	Observer e Decorator
	
	
	Observer e Chain of Responsibility
	
	
	
	 
		
	
		3.
		[BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a.
	
	
	
	Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto.
	
	
	O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.
	
	
	O Adapter é inferior ao Bridge porque não evita a replicação de código.
	
	
	Ambos são padrões estruturais que possuem alguns atributos em comum.
	
	
	O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes.
	
	
	
	 
		
	
		4.
		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:
	
	
	
	Não é preciso saber a classe concreta do objeto para criá-lo
	
	
	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
	
	
	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
	
	
	
	 
		
	
		5.
		Marque a alternativa que melhor descreve uma situação típica onde poderia ser utilizado o padrão de projeto Adapter?
	
	
	
	Um programador precisa de uma classe que possua um método para retornar a única instância existente da classe.
	
	
	Um programador precisa utilizar uma classe que possui a mesma interface da classe existente na aplicação.
	
	
	Um programador precisar utilizar uma classe que possui interface diferente da classe existente na aplicação.
	
	
	Um programador precisa ser avisado quando houver alterações no estado de um objeto.
	
	
	Um programador precisa de um método que simplifique o acesso a uma hierarquia de classes.
	
	
	
	 
		
	
		6.
		Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas. Marque a alternativa que representa o melhor padrão de projeto para modelar este problema.
	
	
	
	Adapter
	
	
	Bridge
	
	
	Proxy
	
	
	Composite
	
	
	Façade
	
	
	
	 
		
	
		7.
		Dentre as opções apresentadas assinale qual o padrão é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente.
	
	
	
	Padrão Decorator
	
	
	Padrão Adapter
	
	
	Padrão Flyweight
	
	
	Padrão Composite
	
	
	Padrão Decorator
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		8.
		O Padrão de Projeto Estrutural (GOF) que se apresenta com o formato de uma árvore (estrutura de dados) quando é representado por um Diagrama de Objetos (UML) chama-se:
	
	
	
	Memento
	
	
	Decorator
	
	
	Composite
	
	
	Bridge
	
	
	TreeView
	
		1.
		Qual padrão converte uma interface de uma classe em outra interface e permite que classes com interfaces incompatíveis trabalhem em conjunto?
	
	
	
	Adapter.
	
	
	Decorator.
	
	
	Bridge.
	
	
	Nenhuma das anteriores.
	
	
	Composite.
	
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.
	
	
	
	 
		
	
		2.
		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 converte a interface de uma classe em outra interface esperada pelos clientes;
	
	
	O padrão Bridge permiti que o sistema consiga se adaptar dinamicamente a diferentes plataformas é mais desejável ainda;
	
	
	O padrão Bridge é usado quando for necessário evitar uma ligação permanente entre a interface e implementação;
	
	
	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 desacopla uma abstração de sua implementação para que os dois possam variar independentemente;
	
Explicação:
Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter.
	
	
	
	 
		
	
		3.
		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 I e III;
	
	
	Somente o item II;
	
	
	Somente os itens I e II;
	
	
	Somente os itens II e III;
	
	
	Somente o item I;
	
Explicação:
O item I está errado porque ela se refere ao padrão Decorator.
	
	
	
	 
		
	
		4.
		Qual padrão desacopla uma abstração de sua implementação de modo que as duas possam variar independentemente?
	
	
	
	Bridge.
	
	
	Façade.
	
	
	Nenhuma das anteriores.
	
	
	Proxy.
	
	
	Decorator.
	
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 Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois possam variar independentemente.
	
	
	
	 
		
	
		5.
		O padrão Bridger é um Padrão Estrutural GoF. Quando devemos usar esse padrão? Assinale a opção INCORRAETA.
	
	
	
	Quando implementações são compartilhadas entre objetos desconhecidos do cliente;
	
	
	Quando alterações na implementação não puderem afetar clientes;
	
	
	Quando tanto abstrações como implementações precisarem ser capazes de suportar extensão através de herança;
	
	
	Quando for necessário evitar uma ligação permanente entre a interface e implementação;
	
	
	Quando houver uma interface que permita a implementação estática;
	
Explicação:
Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter.
	
	
	
	 
		
	
		6.
		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 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 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.
	
	
	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.
	
	
	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.
	
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.
	
	
	
	 
		
	
		7.
		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.
	
	
	Proxy.
	
	
	Builder.
	
	
	Nenhuma das anteriores.
	
	
	Composite.
	
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.
	
	
	
	 
		
	
		8.
		Qual o objetivo do padrão Compositer? Assinale a opção INCORRETA.
	
	
	
	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 permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
	
	
	Composite compõem objetos em estruturas de árvore para representar hierarquias todo-parte.
	
	
	Composite permite que o ganho que eu tenho com a programação para a interface seja enorme.
	
	
	Composite permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente.
	
Explicação:
Essa afirmativa está INCORRETA, porque as outras se referem ao padrão Decorator.
	
		1.
		A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um conjunto de subsistemas e fornecer uma resposta imediata.
Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
	
	
	
	Incentivar acoplamento fraco entre o subsistema e seus clientes.
	
	
	Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
	
	
	Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças.
	
	
	Ajudar a melhorar portabilidade dos sistemas.
	
	
	Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		2.
		O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações não podem, em momento algum, fazer _____________________________________________________________
	
	
	
	hipóteses ou asserções sobre fora do contexto no qual o objeto opera.
	
	
	hipóteses ou exclusões sobre o contexto no qual o objeto opera.
	
	
	Acoplamento fraco entre o subsistema e seus clientes.
	
	
	hipóteses ou asserções sobre o contexto no qual o objeto opera.
	
	
	comparações ou associações sobre o contexto no qual o objeto opera.
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		3.
		Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os recursos e facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como:
	
	
	
	Decorator
	
	
	Proxy;
	
	
	Composite;
	
	
	Flyweight
	
	
	Façade;
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		4.
		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.
	
	
	Incentivar acoplamento forte entre o subsistema e seus clientes.
	
	
	Incentivar acoplamento fraco entre o subsistema e seus clientes.
	
	
	Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
	
	
	judar a melhorar portabilidade dos sistemas.
	
	
	
	 
		
	
		5.
		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.
	
	
	
	Strategy
	
	
	Decorator
	
	
	Singleton
	
	
	Facade
	
	
	Factory Method
	
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 classe responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e escondem os detalhes de implementação.
	
	
	
	 
		
	
		6.
		(FESMIP-BA - 2011)O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado
	
	
	
	State.
	
	
	Builder.
	
	
	Strategy.
	
	
	Flyweight.
	
	
	Composite.
	
	
	
	 
		
	
		7.
		O objetivo do Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela. Gamma et al (2000) recomendam sua utilização somente quando todas as condições abaixo forem verdadeiras, EXCETO uma. Qual delas abaixo é essa situação?
	
	
	
	Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos.
	
	
	Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos mutáveis de imutáveis;
	
	
	A aplicação não depende da identidade do objeto.
	
	
	Os custos de armazenamento são altos por causa da grande quantidade de objetos.
	
	
	Uma aplicação utiliza um grande número de objetos.
	
Explicação:
Essa afirmativa está incorreta para o padrão Flyweight, porque ela é uma situação em que não deve ser usada, assim como também quando o estado dos objetos não for imutável (é preciso passar o estado mutável como parâmetro e isto pode ser impraticável se o estado consistir de vários objetos)..
	
	
	
	 
		
	
		8.
		Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro:
	
	
	
	Adapter
	
	
	Facade
	
	
	Decorator
	
	
	Proxy
	
	
	Flyweight
	
	
		1.
		Qual a vantagem do padrão Proxyr? Assinale a opção INCORRETA.
	
	
	
	Permite, sempre que for desejável, criar uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação;
	
	
	Consigo atribuir um certo grau de inteligência, o que possibilitaria um tratamento inteligente dos dados;
	
	
	Permite maior eficiência com caching no cliente;
	
	
	Permite o tratamento inteligente dos dados no cliente;
	
	
	Tem transparência, ou seja, mesma sintaxe usada na comunicação entre o cliente e sujeito real é usada no proxy;
	
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Façade.
	
	
	
	 
		
	
		2.
		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;
	
	
	Sempre que for desejável, cria uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação;
	
	
	Havendo mudança em alguma regra de negócio, basta realizar as alterações necessárias na classe Façade;
	
	
	Permite que objetos individuais cuidem de uma única tarefa, deixando que a fachada se encarregue de divulgar as suas operações;
	
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Flyweight.
	
	
	
	 
		
	
		3.
		Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA.
	
	
	
	Proxy faz uma fachada única para todas as fachadas;
	
	
	Proxy expurga o código e delega a uma classe, a terceiros;
	
	
	Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a outro;
	
	
	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;
	
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Façade.
	
	
	
	 
		
	
		4.
		Quanto aos padrões de projeto orientados a objetos, assinale a opção correta.
	
	
	
	O Adapter pode ser usado quando objetos se comunicam de forma definida, mas complexa; as interdependências entre os objetos são difíceis de entender; o reúso está sendo dificultado, pois um objeto se comunica com vários outros.
	
	
	Pode-se usar o Builder quando o comportamento de um objeto muda em tempo de execução e depende do seu estado; as operações têm múltiplos enunciados condicionais que dependem do estado do objeto.
	
	
	O padrão Abstract Factory visa possibilitar que os passos para se criar um objeto complexo independam das partes que compõem esse objeto. Ao encapsular a construção de objetos complexos, esse padrão contribui na modularização do sistema.
	
	
	Pode-se usar o Decorator quando um sistema deve ser configurado com uma entre várias famílias de produtos; uma família de produtos relacionados foi projetada para ser usada em conjunto.
	
	
	O Façade pode ser usado quando se deseja prover uma interface simples para um subsistema complexo; existem muitas dependências entre clientes e as classes que implementam uma abstração.
	
Explicação:
Essa opção está correta porque o padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar.
Define uma interface de mais alto nível que torna o subsistema mais fácil de usar.
	
	
	
	 
		
	
		5.
		Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo,
- para postergar a instanciação de um objeto
- para controlar o acesso ao mesmo
- para acessá-lo em uma máquina remota
- para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada.
- utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada.
Marque a alternativa que indica o padrão de projeto utilizado segundo a descrição acima.
	
	
	
	Acoplamento
	
	
	Coesão
	
	
	Proxy
	
	
	Façade
	
	
	Flyweight
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		6.
		O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções abaixo a unica condição que não é verdadeira
	
	
	
	Uma aplicação utiliza um grande número de objetos.
	
	
	Os custos de armazenamento são altos por causa da grande quantidade de objetos.
	
	
	A aplicação não depende da identidade do objeto.
	
	
	Uma aplicação utiliza um pequeno número de objetos.
	
	
	Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos.
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		7.
		considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:
	
	
	
	singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy
	
	
	singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy
	
	
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton
	
	
	adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton
	
	
	adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
	
Explicação:
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Os padrões estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturascomplexas; associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais.
Seu objetivo é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua.
	
	
	
	 
		
	
		8.
		Qual padrão fornece uma interface unificada para um conjunto de interfaces em um subsistema e define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado?
	
	
	
	Composite.
	
	
	Façade.
	
	
	Decorator.
	
	
	Adapter.
	
	
	Nenhuma das anteriores.
	
Explicação:
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter,  Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua.
Os Padrões Estruturais tratam da composição de classes e objetos para formar estruturas complexas; associados à maneira como classes e objetos são organizados estruturalmente; oferecem formas efetivas para usar conceitos OO como herança e composição, e são abstrações de aspectos estruturais.
O padrão Façade é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas. Define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar.
Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar.
	
	
		1.
		Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.
	
	
	
	entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais.
	
	
	identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.
	
	
	fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais.
	
	
	identificar as soluções comuns para o problema básico.
	
	
	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.
	
Explicação:
Na UML, modelamos os Casos de Uso, identificando os atores e definindo os Casos de Uso por Ator, construímos o Diagrama de Casos de Uso, modelamos as Classes Negociais, construímos o Diagrama de Transição de Estado e refinamos as Classes com suas operações.
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		2.
		Analise as seguintes sentenças que descreve as características de um padrão de projeto. Em seguida marque a alternativa que corresponde o padrão de projeto correspondente.
a. Sua aplicação é recomendada naquelas situações em que há necessidade de interpretar uma linguagem qualquer e, ao mesmo tempo, quando se quer representar sentenças da linguagem, como árvores abstratas sintáticas.
b. Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples.
c. A estrutura do padrão sugere que a modelagem do problema seja realizada através de uma gramática recursiva.
	
	
	
	Chain Responsability
	
	
	Façade
	
	
	Composite
	
	
	Interpreter
	
	
	Adapter
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		3.
		Analise as sentenças abaixo.
I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural.
II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar.
III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas).
IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica.
Marque a opção correta.
	
	
	
	I - II - IV
	
	
	I - II - III
	
	
	II - III - IV
	
	
	III - IV
	
	
	I - III - IV
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		4.
		Qual o objetivo do padrão Template Method? Assinale a opção CORRETA.
	
	
	
	Descreve como projetar um conjunto de classes para representar e interpretar uma gramática para linguagens simples;
	
	
	Delega responsabilidades e escreve padrões não só voltados para classe, mas também no que tange a comunicação entre essas classes;
	
	
	Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses;
	
	
	Dada uma linguagem, definir uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem;
	
	
	É recomendada naquelas situações em que há necessidade de interpretar uma linguagem qualquer e ao mesmo tempo quando se quer representar sentenças da linguagem como árvores abstratas sintáticas;
	
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Interpreter.
Além disso, Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
	
	
	
	 
		
	
		5.
		Os padrões de comportamento correspondem a:
	
	
	
	Iterador, Mediator, Bridge, Composite, Decorator, Façade, Flyweight e Proxy
	
	
	Adapter, Bridge, Composite, Decorator, Façade, flyweight e proxy
	
	
	Abstract Factory, Builder, Factory Method, Prototype e Singleton.
	
	
	Todas as alternativas estão erradas
	
	
	Chain of Responsability, Command, Interpreter, Iterador, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
	
	
	
	 
		
	
		6.
		Aponte dentre as opções colocadas aquela que corresponde a estrutura do padrão que sugere que a modelagem do problema seja realizada através de uma gramática recursiva..
	
	
	
	Interpreter;
	
	
	Chain of Responsability,
	
	
	Template Method;
	
	
	Mediator
	
	
	Iterator
	
	
	
	 
		
	
		7.
		Dentre as opções colocadas abaixo, assinale aquela que corresponde ao padrão de projeto que requer para sua implementação, que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores
	
	
	
	Mediator;
	
	
	Template Method;
	
	
	Chain of Responsability ;
	
	
	Iterator;
	
	
	classe Handler;
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		8.
		Qual o objetivo do padrão Interpreter? Assinale a opção CORRETA.
	
	
	
	Permitir que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura;
	
	
	Preencher certas partes do algoritmo por implementações que irão variar, ou seja, implementar um algoritmo em um método, postergando a definição de alguns passos do algoritmo, para que outras classes possam redefini-los;
	
	
	Fornece uma estrutura fixa, de um algoritmo, esta parte fixa deve estar presente na superclasse, sendo obrigatório uma classeAbstrata que possa conter um método concreto;
	
	
	Dada uma linguagem, definir uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem;
	
	
	Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serempreenchidos pelas subclasses;
	
Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Template Method.
	
	
		1.
		São exemplos de Padrões de Projeto Comportamentais:
	
	
	
	Mediator, Strategy e Builder
	
	
	Interpreter, Chain of Responsibility e Observer
	
	
	Singleton, Mediator e Strategy
	
	
	Command, Composite e Memento
	
	
	State, Flyweight e Decorator
	
	
	
	 
		
	
		2.
		Qual padrão evita o acoplamento do remetente de uma solicitação ao receptor e encadeia os objetos receptores passando a solicitação ao longo da cadeia até que um objeto a trate?
	
	
	
	Nenhuma das anteriores.
	
	
	Mediator.
	
	
	Command.
	
	
	Chain of Responsability.
	
	
	Observer.
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
O padrão Chain of Responsability, compõem objetos em cascata para, através dela, delegar uma requisição até que um objeto a sirva.
	
	
	
	 
		
	
		3.
		Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo?
	
	
	
	Command.
	
	
	Template Method.
	
	
	State.
	
	
	Nenhuma das anteriores.
	
	
	Adapter.
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
O Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura.
	
	
	
	 
		
	
		4.
		Qual é o padrão GoF comportamental correspondente ao código abaixo?
Approver larry = new Director();
Approver sam = new VicePresident();
Approver tammy = new President();
larry.SetSuccessor(sam);
sam.SetSuccessor(tammy);
// Generate and process purchase requests
Purchase p = new Purchase(2034, 350.00, "Assets");
larry.ProcessRequest(p);
p = new Purchase(2035, 32590.10, "Project X");
larry.ProcessRequest(p);
p = new Purchase(2036, 122100.00, "Project Y");
larry.ProcessRequest(p);
.......
 
	
	
	
	Observer
	
	
	Command
	
	
	State
	
	
	Chain of Responsability
	
	
	Visitor
	
Explicação:
O padrão Chain of Responsability, compõem objetos em cascata para, através dela, delegar uma requisição até que um objeto a sirva.
	
	
	
	 
		
	
		5.
		Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method
	
	
	
	Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses
	
	
	Permitimos, em tempo de execução, que sejam adicionadas novas operações sobre uma estrutura de dados
	
	
	Possibilitamos a comunicação entre interfaces incompatíveis
	
	
	Armazenamos o estado interno de um objeto para permitir a implementação da operação de desfazer (undo)
	
	
	Garantimos que não será possível instanciar mais do que 1(uma) instância de uma determinada classe
	
	
	
	 
		
	
		6.
		O padrão GoF Comportamental utilizado:
	
	
	
	Iterator
	
	
	Observer
	
	
	Template Method
	
	
	Mediator
	
	
	Interpreter
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão Observer define uma dependência um para muitos, que será necessária para fazer a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto mude de estado, todos os dependentes sejam notificados.
	
	
	
	 
		
	
		7.
		(BACEN ¿ CESGRANRIO 2010) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de vendas de uma empresa. Ele deve considerar que o padrão
	
	
	
	Bridge separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
	
	
	Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo independente.
	
	
	Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global.
	
	
	Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação.
	
	
	Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade fina.
	
	
	
	 
		
	
		8.
		(PETROBRAS - CESGRANRIO 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir?
	
	
	
	Template Method.
	
	
	Decorator.
	
	
	Observer.
	
	
	Singleton.
	
	
	Interpreter.
		1.
		Um padrão arquitetural que se preocupa em resolver o problema da organização objetivando facilitar a manutenção e aumentar a coesão entre classes afins e assim facilitar o reuso de código de forma ordenada e econômica, dividindo essas classes em camadas com finalidades específicas de armazenar os domínios da aplicação, as apresentações e as regras de negócio é denominado:
	
	
	
	Monolítico
	
	
	NCamandas
	
	
	Pure Fabrication
	
	
	Model-View-Control
	
	
	Kernel
	
Explicação:
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View, executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e mobile.
	
	
	
	 
		
	
		2.
		(FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário e do fluxo da aplicação para permitirque uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de projeto arquitetural
	
	
	
	Creator.
	
	
	Observer.
	
	
	Layers.
	
	
	Expert.
	
	
	Model-View-Controller.
	
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
O padrão de arquitetura MVC é uma combinação de padrões centrada no padrão Observer e consiste de três participantes:
Model: representa os dados da aplicação e regras de negócio associadas com os dados. Notifica o View sobre alterações.
View: é um Observer para o Model. Notifica o Controller sobre eventos iniciados pelo usuário e lê dados do Model.
Controller: é um Observer para o View. Encapsula lógica de controle que afeta o Model e seleciona View.
O MVC é utilizado em muitos projetos devido à arquitetura que possui, o que possibilita a divisão do projeto em camadas muito bem definidas. Cada uma delas, o Model, o Controller e a View, executa o que lhe é definido e nada mais do que isso.
A utilização do padrão MVC trás como benefício isolar as regras de negócios da lógica de apresentação, a interface com o usuário. Isto possibilita a existência de várias interfaces com o usuário que podem ser modificadas sem que haja a necessidade da alteração das regras de negócios, proporcionando assim muito mais flexibilidade e oportunidades de reuso das classes.
Uma das características de um padrão de projeto é poder aplicá-lo em sistemas distintos. O padrão MVC pode ser utilizado em vários tipos de projetos como, por exemplo, desktop, web e mobile.
	
	
	
	 
		
	
		3.
		(FGV - 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades.
Assinale a alternativa que apresenta apenas padrões de projeto comportamentais.
	
	
	
	Singleton, Composite e Interpreter.
	
	
	Mediator, Interpreter e Command.
	
	
	Prototype, Abstract Factory e Builder.
	
	
	Composite, Decorato e Proxy.
	
	
	Proxy, Builder e Mediator.
	
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
	
	
	
	 
		
	
		4.
		O padrão Command é um Padrão Comportamental GoF. Qual o objetivo desse padrão? Assinale a única resposta INCORRETA
	
	
	
	O objetivo do padrão de projeto Command é encapsular uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes solicitações;
	
	
	O objetivo do padrão de projeto Command é prover uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna;
	
	
	O objetivo do padrão de projeto Command é permitir desfazer operações realizadas por um comando, desde que, cada comando tenha implementado um método adicional para este fim;
	
	
	O objetivo do padrão de projeto Command é encapsular chamadas de métodos;
	
	
	O objetivo do padrão de projeto Command é associar um objeto comando a cada objeto criado ou, pelo menos, aos objetos mais complexos;
	
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Iterator.
	
	
	
	 
		
	
		5.
		Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
	
	
	
	Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas.
	
	
	tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
	
	
	Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta
	
Explicação:
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
Esta definição se refere ao Padrão Memento.
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
	
	
	
	 
		
	
		6.
		Qual padrão captura e externaliza um estado interno de um objeto para que o objeto possa ser restaurado para este estado mais tarde sem violar o encapsulamento?
	
	
	
	Nenhuma das anteriores.
	
	
	State.
	
	
	Visitor.
	
	
	Memento.
	
	
	Observer.
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais.
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário.
	
	
	
	 
		
	
		7.
		Qual padrão de projeto GOF é melhor representado pela classe java.sql.ResultSet, a qual possui os métodos next() e hasnext() e é utilizada para percorrer sequencialmente as tuplas que representam o retorno de uma consulta no banco de dados.
	
	
	
	Command
	
	
	Decorator
	
	
	Visitor
	
	
	Iterator
	
	
	Interpreter
	
Explicação:
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor.
São projetados para organizar, gerenciar e combinar diferentes comportamentos.
O objetivo dos Comportamentais têm a ver com a maneira pela qual responsabilidades são distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos comportamentais
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto agregado sequencialmente

Continue navegando