Buscar

PADRÕES DE PROJETO DE SOFTWARE

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

PADRÕES DE PROJETO DE SOFTWARE
	
		Lupa
	 
	Calc.
	
	
	 
	 
	 
	 
	
	
	
	
	
	
		
	
	Disc.: PADR. PROJ. SOFTWARE 
	2021.1 (G) / EX
		Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	
	 
		
	
		1.
		Os padrões de projeto (Design Patterns) GoF são classificados nas categorias:
	
	
	
	Situacional. Estrutural. Complementar.
	
	
	Compartimental. Vinculada. Comportamental.
	
	
	Criacional. Evolutiva. Contingencial.
	
	
	Criacional. Estrutural. Comportamental.
	
	
	Criacional. Step-by-step. Orientada a requisitos.
	
Explicação:
Essa resposta está coreta porque:
GoF - Gang of Four - Gangue dos Quatro.
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
	
	
	
	 
		
	
		2.
		O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se:
	
	
	
	Template Method
	
	
	Factory Method
	
	
	Business Delegate
	
	
	Dependency Injection
	
	
	Abstract Factory
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		3.
		(2016 - IF-PE) Observe as afirmativas abaixo: I. Com frequência, equipes de desenvolvimento de software escrevem classes que proveem funcionalidades similares às de outras classes já existentes. Esse padrão se aplica a qualquer contexto em que se deseja implementar funcionalidades já implementadas em outra classe, mas com interface diferente da classe já implementada. Esse padrão define uma nova classe de maneira que ela contenha uma instância da classe velha como um atributo privado, e implemente cada método da nova classe usando métodos da classe antiga. II. Fornece uma interface unificada para um conjunto de interfaces em um subsistema. Define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado. III. Define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo. Esse padrão pode ser usado para implementar as partes invariantes do algoritmo uma só vez e deixar para as subclasses a implementação do comportamento que pode variar. IV. Evita o acoplamento do remetente de uma solicitação ao seu receptor ao dar a mais de um objeto a oportunidade de tratar a solicitação. Encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate. Esse padrão é utilizado quando mais de um objeto pode tratar uma solicitação e o objeto que a tratará não é conhecido a priori. O objeto que trata a solicitação é escolhido automaticamente. V. Você começou a trabalhar em um projeto que utiliza tecnologia Java RMI. Nesse projeto, é implementado um padrão de projeto que provê um ponto através do qual um objeto controla o acesso a outro. No projeto em questão, um objeto remoto que contém a implementação real é acessado através de um outro objeto local, de forma que o objeto local controla o acesso ao remoto. Para isso, ambos possuem a mesma interface. As afirmativas acima descrevem, respectivamente, os seguintes padrões de projeto:
	
	
	
	Facade, Adapter Template Method, Chain of Responsibility e Decorator.
	
	
	Memento, Strategy, Chain of Responsibility, Template Method e Memento.
	
	
	Adapter, Facade, Template Method, Chain of Responsibility e Proxy.
	
	
	Adapter, Facade, Template Method, Command e Interpreter.
	
	
	Adapter, Facade, Decorator, Command e Adapter.
	
Explicação:
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais.
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
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.
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 Padrões Comportamentais tem 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.
	
	
	
	 
		
	
		4.
		(2017 - IESES - CREA-SC) Assinale a alternativa que define corretamente o conceito de Design Patterns:
	
	
	
	¿Uma prática não estruturada para solução de problemas dentro de um determinado contexto¿
	
	
	¿Uma prática não estruturada para solução de problemas independentemente de um contexto¿
	
	
	¿Uma solução para um problema dentro de um contexto¿
	
	
	¿Uma solução para um problema independentemente de um contexto¿
	
	
	¿Um procedimento padrão para resolver problemas anteriormente desconhecidos dentro de um contexto genérico¿
	
Explicação:
Padrões de projeto são voltados para problemas recorrentes que ocorrem no nosso dia-a-dia.
São descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico.
	
	
	
	 
		
	
		5.
		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 a sentença II está correta
	
	
	Todas as sentenças estão corretas
	
	
	Apenas as sentenças I e II estão corretas
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas as sentenças I e III estão corretas
	
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.
	
	
	
	 
		
	
		6.
		Qual padrão define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar?
	
	
	
	Abstract Factory.
	
	
	Factory Method.
	
	
	Nenhuma das anteriores.
	
	
	Singleton.
	
	
	Builder.
	
Explicação:
Há cinco Padrões de CriaçãoGoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton.
Esses Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar, ou a quais objetos delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões.
O objetivo do Factory Method (Método de Fábrica) é definir uma interface para criar um objeto, mas deixar as subclasses definirem que classe instanciar.
Situações em que deve ser utilizado o padrão Factory Method:
Quando se quer localizar num ponto único a conhecimento de qual subclasse está sendo usada.
Quando classes delegam responsabilidade para uma entre várias subclasses de apoio.
Quando uma classe quer que suas subclasses especifiquem os objetos criados.
Quando uma classe (o criador) não pode antecipar a classe dos objetos que deve criar.
	
	
	
	 
		
	
		7.
		(CESGRANRIO - 2008 - TJ-RO - Analista Judiciário - Análise de Sistemas) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se:
	
	
	
	Template Method
	
	
	Decorator
	
	
	Singleton
	
	
	Strategy
	
	
	Abstract Factory
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		8.
		 Analise as afirmações abaixo:
I. Define uma dependência um para muitos entre objetos, de forma que, quando o objeto é alterado todos os seus dependentes são notificados e atualizados..
II. Dada uma linguagem define uma representação para a sua gramática juntamente com um interpretador.
III. Agrega dinamicamente responsabilidades adicionais a um objeto.
As afirrmações correspondem respectivamente a:
	
	
	
	Observer, Decorator, Interpreter
	
	
	Interpreter, Observer, Decorator
	
	
	Interpreter, Observer, Decorator
	
	
	Decorator, Interpreter, Observer
	
	
	Observer, Interpreter, Decorator
	
Explicação:
O padrão Observer (observador) define uma dependência um para muitos, que será necessária para fazer a relação entre um conjunto de dados e várias representações, além de permitir que, quando um objeto mude de estado, todos os dependentes sejam notificados.
Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são notificados e atualizados automaticamente.
O padrão Interpreter é um dos padrões de projeto de software, famosos como "Design Patterns", muito utilizado para a resolução de problemas quando a modelagem de sistemas ou softwares. Esse padrão esta incluso na categoria de Padrão Comportamental, ou seja, ele busca solucionar problemas de modelagem que tratam o comportamento de classes.
Tem a função de interpretar, interfacear delegando responsabilidade.
O padrão Decorator é um padrão de cuja intenção são as Extenções.
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade (para a extensão de funcionalidade).

Outros materiais