Buscar

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

1a
          Questão
	Acerto: 1,0  / 1,0
	
	Em padrão de projeto existe uma situação onde uma classe chama um método abstrato especificado em alguma classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar.
Baseado nessa descrição marque a alternativa que aponta o padrão relacionado.
		
	
	Facade.
	 
	Factory Method.
	
	Singleton.
	
	Builder.
	
	Mediator
	Respondido em 17/10/2021 10:13:52
	
	Explicação:
Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O Factory Method é um Padrão de Criação. 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.
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão de projeto singleton é usado para restringir:
		
	 
	a instanciação de uma classe para apenas um objeto.
	
	a instanciação de uma classe para objetos simples.
	
	classes de atributos complexos
	
	as relações entre classes e objetos.
	
	a quantidade de classes
	Respondido em 17/10/2021 10:16:05
	
	Explicação:
Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. 
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.
	
		3a
          Questão
	Acerto: 1,0  / 1,0
	
	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?
		
	
	Proxy.
	
	Builder.
	
	Flyweight.
	 
	Composite.
	
	Nenhuma das anteriores.
	Respondido em 17/10/2021 10:19:46
	
	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.
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão Flyweight é um Padrão Estrutural GoF. Quando não devemos usar esse padrão?
I- Quando o estado dos objetos não for imutável
II- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em que eles são usados na aplicação;
III- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre como um objeto independente);
Est(á)ão correta(s) a(s) afirmativa(s):
		
	
	Somente os itens I e III;
	
	Somente o item II;
	
	Somente os itens II e III;
	 
	Somente o item I;
	
	Somente os itens I e II;
	Respondido em 17/10/2021 10:22:33
	
	Explicação:
Os itens II e III estão errados porque é nesta situação que devemos usar esse padrão.
No item I é preciso passar o estado mutável como parâmetro e isto pode ser impraticável se o estado consistir de vários objetos.
	
		5a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale a afirmativa INCORRETA
		
	 
	Reduz a interconexão entre os objetos, ao invés de um objeto manter uma lista com todos os receptores candidatos, eles mantém uma referência única para o sucessor;
	
	Evitar 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;
	
	Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate;
	
	Representar um encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes;
	
	Fornecer um acoplamento mais fraco por evitar a associação explícita do remetente de uma solicitação ao seu receptor e dar a mais de um objeto a oportunidade de tratar a solicitação;
	Respondido em 17/10/2021 10:24:56
	
	Explicação:
Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão Classe Hanter.
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	(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 permitir que 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
		
	
	Observer.
	
	Creator.
	
	Expert.
	
	Layers.
	 
	Model-View-Controller.
	Respondido em 17/10/2021 10:28:05
	
	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.
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	Marque a alternativa que está relacionada ao padrão de projeto que é mais apropriado quando o comportamento de um objeto depende do seu estado e ele pode mudar seu comportamento em tempo de execução.
		
	
	Memento
	
	Observer
	 
	State
	
	Visitor
	
	Strategy
	Respondido em 17/10/2021 10:33:37
	
		8a
          Questão
	Acerto: 1,0  / 1,0
	
	Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento.
A informação necessária para uma tarefa computacionalfrequentemente está ¿espalhada¿ por vários objetos. Para o exemplo: determinar o total de uma venda requer a colaboração de 3 objetos, em 3 classes diferentes, qual o melhor padrão GRASP deve ser usado?
		
	
	Acoplamento fraco;
	 
	Expert (Especialista da informação);
	
	Criador;
	
	Controlador;
	
	Coesão Alta;
	Respondido em 17/10/2021 10:39:03
	
	Explicação:
Essa resposta está correta porque Expert (Especialista da informação), porque é o padrão mais usado para atribuir responsabilidades. Há muitos experts parciais. Neste caso mensagens são usadas para estabelecer as colaborações. Note que, com o uso do padrão Expert o encapsulamento das classes é mantido.
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	O tipo tipos de coesão caracterizada quando um módulo executa um e somente um cálculo, e então retorna o resultado é chamada de:
		
	
	Recursiva.
	
	Em Camada;
	
	Comucacional
	 
	Funcional;
	
	Paralela;
	Respondido em 17/10/2021 10:44:55
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão Indireção tem como característica:
		
	
	implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito.
	
	Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso.
	
	É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros.
	
	é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema.
	 
	O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados.
	Respondido em 17/10/2021 10:41:10
	
	Explicação:
O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados..
E:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura (Pure Fabrication), Indireção e Variações Protegidas.
O padrão Indireção resolve problemas como: a quem devemos atribuir a responsabilidade, evitando o acoplamento direto entre dois ou mais objetos? e como desacoplar objetos apoiando o Acoplamento Baixo e maximizando o potencial de reuso?
A solução para isso é atribuir a responsabilidade a um objeto intermediário para mediar as mensagens entre outros componentes ou serviços, para que não sejam diretamente acoplados e o objeto intermediário cria uma camada de indireção entre os dois componentes que não mais dependam um do outro: Ambos dependem da indireção.
A Indireção quer que dois objetos, evite-se o acoplamento direto entre eles.
A ideia é diminuir o acoplamento e manter a coesão.

Continue navegando