Buscar

Padrões de Projeto de Software- Teste de conhecimento

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE
	
		Lupa
	 
	Calc.
	
	
	 
	 
	 
	 
	
	CCT0763_A6_201702299635_V1
	
	
	
	
		Aluno: FERNANDA LAURA CARVALHO AGAPITO
	Matr.: 201702299635
	Disc.: PAD. PROJ. SOFTWARE 
	2020.3 EAD (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.
		O padrão Memento é um Padrão Comportamental GoF. Qual o objetivo desse padrão?
Assinale a resposta INCORRETA.
	
	
	
	Criar uma instância com os atributos que se pretende salvar, fornecendo um construtor público para este fim.
	
	
	Criar uma classe privada chamada Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado;
	
	
	Criar uma classe privada chamada Memento dentro da classe dentro de uma outra classe, onde esta classe pode oferecer além do construtor os métodos para atribuir e consultar o valor de cada atributo da classe;
	
	
	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;
	
	
	Criar um objeto que encapsula a forma como um conjunto de objetos interage;
	
Explicação:
Essa resposta está INCORRETA porque ela se refere ao padrão Mediator.
	
	
	
	 
		
	
		2.
		São vantagens da arquitetura MVC, EXCETO:
	
	
	
	garantir um crescimento constante da aplicação.
	
	
	permitir a distribuição dos elementos da aplicação.
	
	
	permitir interfaces mais sofisticadas com o usuário.
	
	
	poder ser utilizada em aplicações simples ,sem sobrecarregar o desenvolvimento com componentes desnecessários.
	
	
	possuir melhor separação de responsabilidades.
	
Explicação:
Essa afirmativa não é uma vantagem porque:
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.
		Definir um objeto que encapsula a forma como um conjunto de objetos interagem. Promove o baixo acoplamento ao evitar que os objetos se refiram uns aos outros diretamente/explicitamente.
Qual opção abaixo corresponde à descrição anterior?
	
	
	
	Intenção do padrão de projeto mediator
	
	
	Intenção do padrão de projeto proxy
	
	
	Intenção do padrão de projeto prototype
	
	
	Intenção do padrão de projeto strategy
	
	
	Intenção do padrão de projeto composite
	
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 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.
	
	
	
	 
		
	
		4.
		Qual padrão encapsula uma solicitação como objeto permitindo parametrizar clientes com diferentes solicitações, enfileirar ou fazer log das solicitações e suportar operações que podem ser desfeitas?
	
	
	
	State.
	
	
	Mediator.
	
	
	Observer.
	
	
	Command.
	
	
	Nenhuma das anteriores.
	
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 Command encapsula uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes solicitações, o enfileiramento e o registro de solicitações e o suporte a operações que possam ser desfeitas. O objetivo do padrão de projeto Command é encapsular chamadas de métodos.
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de novos comandos, permitir tratamento de requisições concorrentes, manter histórico de execução de comandos, suportar operações para desfazer comandos e, principalmente, evitar o acoplamento direto entre classes e serviços
	
	
	
	 
		
	
		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, 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.
	
	
	É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos
	
	
	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.
		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 é associar um objeto comando a cada objeto criado ou, pelo menos, aos objetos mais complexos;
	
	
	O objetivo do padrão de projeto Command é encapsular chamadas de métodos;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 é 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 é encapsular uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes solicitações;
	
Explicação:
Essa afirmativa está incorreta, porque ela se refere ao padrão Iterator.
	
	
	
	 
		
	
		7.
		Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um objeto agregado sem expor a sua representação subjacente?
	
	
	
	Nenhuma das anteriores.
	
	
	Mediator.
	
	
	Iterator.
	
	
	Chain of Responsability.
	
	
	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.
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna.".
	
	
	
	 
		
	
		8.
		O padrão Memento é um Padrão Comportamental GoF. Como se dá a implementação desse padrão?
I- Cria-se uma classe privada chamada Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado;
II- Define um objeto que encapsula a forma como um conjunto de objetos interage. Memento promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que você varie suas interações independentemente;
III- A classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo um construtor público para este fim;
Est(á)ão correta(s) a(s) afirmativa(s):
	
	
	
	Somente os itens I e III;
	
	
	Somente o item II;
	
	
	Somente o item III;
	
	
	Somente os itens I e II;
	
	
	Somente o item I;
	
Explicação:
O objetivo do padrão 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
O item II está incorreto, porque isso ocorre para o padrão Mediator.

Continue navegando