Buscar

Padrões de projeto de software - aula 2

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

Prévia do material em texto

1.
		Qual padrão garante que uma classe tem somente uma instância e fornece um ponto global de acesso a mesma?
	
	
	
	Abstract Factory.
	
	
	Factory Method.
	
	
	Nenhuma das anteriores.
	
	
	Builder.
	
	
	Singleton.
	
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.
 
		2.
		O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;
	
	
	
	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
	
	
	As afirmativas I, II, III estão incorretas
	
	
	As afirmativas II, III estão corretas e a afirmativa I está errada.
	
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.
	
		3.
		(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente.
Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo?
	
	
	
	Factory Method.
	
	
	Abstract Factory.
	
	
	Builder.
	
	
	Command.
	
	
	Prototype.
		4.
		(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.
	
	
	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.
	
	
	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.
	
	
	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.
	
	
	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.
	
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.
		5.
		Sobre o padrão ¿Builder ¿, escolha a opção que descreve seu(s) objetivo(s):
	
	
	
	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.
	
	
	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.
	
	
	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 complexo de sua representação para que o mesmo processo de separação criar representações iguais mas com serviços 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.
	
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 aoato de criar objetos dentro de um construtor.  Isso é comum em desenvolvedores iniciantes.
	
		6.
		Assinale dentre as opções abaixo, qual o padrão de projeto mais conhecidos e extensivamente utilizados em programação orientada a objetos e que está direcionado para as situações onde é preciso manter uma única instancia de uma classe durante toda a execução da aplicação.
	
	
	
	Decorator;
	
	
	Composite;
	
	
	Builder;
	
	
	Singleton
	
	
	Prototipe:
		7.
		Qual o objetivo do padrão Builder? Assinale a opção INCORRETA.
	
	
	
	É utilizado na instanciação de objetos complexos.
	
	
	Minimizar a carga que os desenvolvedores têm ao ato de criar objetos dentro de um construtor.
	
	
	Atribuir a responsabilidade de criação do objeto complexo a outra classe.
	
	
	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.
	
	
	Declara um método chamado clone na superclasse abstrata do modelo.
	
Explicação:
Essa afirmativa está INCORRETA porque ela se refere ao padrão Prototype.
		8.
		Analise as afirmativas abaixo, com relação aos padrões de projeto, e marque a opção correta.
I - O Singleton é um padrão que garante que uma classe tenha apenas uma instância.
II - Alguns padrões de criação como o Prototype, o Proxy e o Façade não são adequados para a programação orientada a
objetos.
III - Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir.
 
	
	
	
	Apenas I e III estão corretas
	
	
	Apenas I e II estão corretas
	
	
	Todas as afirmativas estão corretas
	
	
	Todas as afirmativas estão incorretas
	
	
	Apenas I está correta
	
Explicação:
O item II está errado porque 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.

Continue navegando