Buscar

PADRÕES DE PROJETO DE SOFTWARE COM JAVA

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 7 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 7 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 a estratégia de solução a seguir:
''Definir uma hierarquia de classes responsáveis pela instanciação de um objeto complexo, geralmente construído a partir de um conjunto de passos, sendo cada passo definido como uma operação das classes dessa hierarquia, separando o processo de criação da representação interna dos produtos''.
Assinale a alternativa com o nome do padrão que define essa estratégia:
	
	
	
	Builder
	
	
	Singleton
	
	
	Factory Method
	
	
	Prototype
	
	
	Abstract Factory
	
Explicação:
A resposta certa é: Builder
	
	
	
	 
		
	
		2.
		A classe java.awt.Toolkit é um exemplo da aplicação de que padrão de projeto?
	
	
	
	Prototype
	
	
	Singleton
	
	
	Factory Method
	
	
	Abstract Factory
	
	
	Builder
	
Explicação:
A resposta certa é: Abstract Factory
	
	
	
	 
		
	
		3.
		Assinale a alternativa com dois padrões que possuem uma estrutura de solução muito parecida, porém, com propósitos distintos.
	
	
	
	Adapter e Decorator.
	
	
	Composite e Decorator.
	
	
	Proxy e Adapter.
	
	
	Adapter e Composite.
	
	
	Proxy e Composite.
	
Explicação:
A resposta certa é: Composite e Decorator.
	
	
	
	 
		
	
		4.
		Possibilitar a manipulação de objetos individuais e de agregados de uma estrutura hierárquica (árvore) de objetos por meio do mesmo conjunto de operações, sem que o módulo cliente precise fazer a distinção entre o tipo do objeto manipulado (individual ou agregado). Assinale a alternativa com o nome do padrão que possui esse propósito:
	
	
	
	Adapter
	
	
	Bridge
	
	
	Proxy
	
	
	Flyweight
	
	
	Composite
	
Explicação:
A resposta certa é: Composite
	
	
	
	 
		
	
		5.
		"Na implementação de um processo complexo, um módulo A chama operações de um módulo B e de um módulo C. B, por sua vez, chama operações de C e de D. O módulo C chama operações de A e de E. O módulo D chama operações dos módulos B e C".
Esse cenário ilustra uma interação entre objetos no estilo muitos para muitos. Para simplificar esse processo, define-se um objeto que centraliza todas as interações entre esses objetos, de modo que eles passam a se comunicar apenas com esse elemento central. Dessa forma, o elemento central X passa a receber uma notificação de A, para então chamar operações de B e C. Da mesma maneira, a partir de uma notificação enviada por B, X chama operações de C e de D.
Essa descrição corresponde à estrutura de solução de qual padrão?
	
	
	
	Strategy
	
	
	Visitor
	
	
	Chain of Responsibility
	
	
	Mediator
	
	
	Template Method
	
Explicação:
Gabarito: Mediator
	
	
	
	 
		
	
		6.
		Assinale a alternativa que expressa a intenção do padrão de projeto Template Method:
	
	
	
	Permite capturar o estado interno de um objeto, permitindo que o seu estado seja restaurado posteriormente, sem quebrar o encapsulamento desse objeto.
	
	
	Encapsular uma requisição em um objeto, permitindo o registro do histórico de requisições disparadas pelos módulos cliente e a criação de filas de requisições.
	
	
	Encapsular uma família de algoritmos em objetos, permitindo que os módulos clientes possam utilizar esses algoritmos de forma intercambiável.
	
	
	Definir uma relação de dependência entre objetos, de modo a garantir que modificações no estado do objeto detentor da informação sejam notificadas automaticamente para os objetos inscritos previamente como interessados em receber essas notificações.
	
	
	Implementar a estrutura de um algoritmo genérico em uma superclasse, considerando que os passos comuns são implementados na própria superclasse, enquanto os passos específicos são implementados nas suas subclasses.
	
Explicação:
Gabarito: Implementar a estrutura de um algoritmo genérico em uma superclasse, considerando que os passos comuns são implementados na própria superclasse, enquanto os passos específicos são implementados nas suas subclasses.
	
	
	
	 
		
	
		7.
		"Ao invés de colocarmos o cálculo do frete de um pedido na classe Pedido, optamos por criar uma hierarquia de classes para encapsular os diferentes algoritmos de cálculo de frete que temos no sistema".
Assinale a alternativa com o nome do padrão GRASP que recomenda a criação de classes que não representam diretamente elementos concretos encontrados no domínio no negócio, seguindo uma decomposição de responsabilidades por comportamento e não por representação, como a descrita no cálculo do frete.
	
	
	
	Polimorfismo.
	
	
	Acoplamento Baixo.
	
	
	Indireção.
	
	
	Invenção Pura.
	
	
	Especialista na Informação.
	
Explicação:
O padrão Invenção Pura tem como finalidade criar classes artificiais, ou seja, classes que não representam um conceito do domínio do problema.
	
	
	
	 
		
	
		8.
		Um módulo X escreve dados em uma tabela de um banco de dados relacional que é lida por um módulo Y. Se o desenvolvedor responsável pelo módulo X resolver mudar algo no esquema dessa tabela, será preciso avaliar o impacto dessa mudança em Y. Esse fato evidencia a existência de um acoplamento de que natureza entre os módulos X e Y?
	
	
	
	Acoplamento Externo
	
	
	Acoplamento de Dados
	
	
	Acoplamento de Estrutura
	
	
	Acoplamento de Controle
	
	
	Acoplamento Global
	
Explicação:
O acoplamento externo ocorre quando módulos compartilham alguma parte do ambiente externo ao software, tais como banco de dados.
	
	
	
	 
		
	
		9.
		A arquitetura MVC (Model, View e Controller) é utilizada de forma ampla, na criação de sistemas cadastrais, e caracteriza-se pela divisão do sistema em três camadas, com objetivos específicos. Considerando a divisão utilizada pelo MVC, a interface de usuário e o componente DAO estariam, respectivamente, nas camadas: 
	
	
	
	View e Controller  
	
	
	View e Model 
	
	
	Model e Controller 
	
	
	Model e View  
	
	
	Controller e Model  
	
Explicação:
A resposta correta é: View e Model 
	
	
	
	 
		
	
		10.
		Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, ocorre uma divisão natural das camadas, em termos dos projetos internos, ficando a camada View sob responsabilidade do projeto com terminador "war". A interface padrão, conforme o próprio terminador indica, é um aplicativo Java Web, sendo comum a implementação de um padrão de desenvolvimento para centralizar o tratamento das requisições, bem como redirecionar para a visualização correta, após efetuar as chamadas para a camada Controller. De qual padrão estamos falando, e qual o componente deve implementá-lo? 
	
	
	
	Padrão de desenvolvimento Service Locator e componente do tipo JNDI 
	
	
	Padrão de desenvolvimento Facade e componente do tipo EJB 
	
	
	Padrão de desenvolvimento Front Controller e componente do tipo Servlet 
	
	
	Padrão de desenvolvimento DAO e componente do tipo JPA  
	
	
	Padrão de desenvolvimento Flyweight e componente do tipo EJB 
	
Explicação:
A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet

Continue navegando

Outros materiais