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 9 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 9 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 9, do total de 9 páginas

Prévia do material em texto

Disc.: PADRÕES DE PROJETO DE SOFTWARE   
	Aluno(a): FAGNER DIAS MORAIS
	202002008547
	Acertos: 10,0 de 10,0
	04/10/2021
		1a
          Questão
	Acerto: 1,0  / 1,0
	
	Prover uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas." . Para qual padrão de projeto a afirmação se relaciona?
		
	
	Prototype
	
	Nra
	
	Proxy
	
	Singleton
	 
	Abstract Factory
	Respondido em 04/10/2021 13:56:17
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	O padrão Singleton é um Padrão de Criação GoF. A estrutura desse padrão utiliza alguns recursos. Assinale o único recurso que NÃO pertence a esse padrão.
		
	
	Declarar o método getInstance como synchronized para que o método seja executado por uma thread por vez, quando utilizado em programas multi-thread;
	 
	Modificando as aplicações para este padrão de projeto para que a facilidade de instanciar classes em tempo de execução possa acontecer;
	
	Modificar static para implementar o método getInstance e, assim, retornar a instancia apropriada ou criá-la, caso seja a primeira vez;
	
	Construtor da classe privado, para não permitir a instância de novos objetos da classe;
	
	Modificadores static e private para garantir uma mesma instância para todos os objetos criados e evitar acesso público;
	Respondido em 04/10/2021 13:59:42
	
	Explicação:
Esta afirmativa NÃO pertence ao padrão Singleton, porque está relacionada ao padrão Prototype.
	
		3a
          Questão
	Acerto: 1,0  / 1,0
	
	Qual o objetivo do padrão Decorator? Assinale a opção CORRETA.
		
	
	Decorator compõem objetos em estruturas de árvore para representar hierarquias todo-parte.
	
	Decorator permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme.
	
	Decorator permite que o ganho que eu tenho com a programação para a interface seja enorme.
	
	Decorator permite que seja encapsulado os detalhes (como se eu falasse com um aluno ou com vários alunos da mesma forma), o que permite uma programação muito mais leve.
	 
	Decorator permite anexar responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente.
	Respondido em 04/10/2021 14:17:08
	
	Explicação:
Essa afirmativa está correta, porque as outras se referem ao padrão Composite.
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	A classe Façade, em qualquer contexto, tem como objetivo mais amplo buscar respostas para um problema de forma transparente em um conjunto de subsistemas e fornecer uma resposta imediata para a classe cliente. Assinale dentre as principais vantagens desse padrão de projeto a única que não é verdadeira.:
		
	
	Tornar os clientes independentes da complexidade dos diferentes subsistemas de uma aplicação.
	
	judar a melhorar portabilidade dos sistemas.
	
	Incentivar acoplamento fraco entre o subsistema e seus clientes.
	 
	Incentivar acoplamento forte entre o subsistema e seus clientes.
	
	Simplificar o acesso a determinadas funcionalidades de um subsistema, sem inviabilizar sua utilização direta.
	Respondido em 04/10/2021 14:12:35
	
		5a
          Questão
	Acerto: 1,0  / 1,0
	
	Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.
		
	 
	identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.
	
	entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais.
	
	identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto específico e representá-los como parâmetros para colaboração.
	
	identificar as soluções comuns para o problema básico.
	
	fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais.
	Respondido em 04/10/2021 14:09:55
	
	Explicação:
Na UML, modelamos os Casos de Uso, identificando os atores e definindo os Casos de Uso por Ator, construímos o Diagrama de Casos de Uso, modelamos as Classes Negociais, construímos o Diagrama de Transição de Estado e refinamos as Classes com suas operações.
	
		
	Gabarito
Comentado
	
	
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	Quando encapsulamos requisições de usuários na forma de objetos estamos utilizando o padrão de projeto:
		
	
	Façade
	
	Strategy
	
	State
	
	Chain of Responsability
	 
	Command
	Respondido em 04/10/2021 14:08:46
	
	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.
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	(2016 - COPEVE-UFAL) A adoção de padrões de projeto proporciona uma reutilização estratégica durante o desenvolvimento de software, uma vez que promove o reuso de soluções previamente validadas e notadamente bem conhecidas (reuso de rationale). A figura apresenta um diagrama de classes que modela o controlador responsável por controlar o nível de dificuldade de um jogo eletrônico. Vale salientar que o nível de dificuldade pode ser ajustado em tempo de execução, a partir do perfil de cada jogador.
 
Assinale a alternativa que representa o padrão de projetos que foi utilizado no exemplo apresentado na figura.
		
	
	Command, uma vez que cada nível de dificuldade representa um comando complementar do jogo, representando, assim, diferentes formas de acionar o jogo.
	
	Observer, uma vez que o controlador precisa monitorar os níveis de dificuldade.
	 
	State, uma vez que este padrão possui o propósito de facilitar mudanças dinâmicas na execução dos métodos.
	
	Composite, pois os diversos níveis de dificuldade estão representados através de uma hierarquia bem definida.
	
	Chain of Responsability, uma vez que não se sabe a priori qual o nível de dificuldade que será utilizado, variando no decorrer da execução.
	Respondido em 04/10/2021 14:07:43
	
	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 State permite que um objeto altere o seu comportamento quando o seu estado interno muda. O objeto parecerá ter mudado de classe.
O padrão encapsula os estados em classes separadas e delega as tarefas para o objeto que representa o estado atual, nós sabemos que os comportamentos mudam juntamento com o estado interno.
	
		8a
          Questão
	Acerto: 1,0  / 1,0
	
	Com relação aos padrões GRASP, assinale a opção correta:
		
	
	O acoplamento baixo (low coupling) baseia-se na quantidade de ligações entre as classes e está destinado à atribuição de responsabilidade ao primeiro objeto além da camada de interface com o usuário, que é responsável por receberou tratar uma mensagem de operação do sistema.
	
	O criador (creator) é utilizado para a solução do problema de quem cria a instância de uma classe com objetos do modelo de domínio. Nesse caso, se A registra B, então atribui-se à classe B a responsabilidade de se criar uma instância de A.
	 
	O especialista na informação (information expert) associa-se ao mapeamento de responsabilidade em que se procura atribuir responsabilidade à classe que tenha informação necessária para satisfazê-la.
	
	A alta coesão (high cohesion) é um padrão utilizado para aprimorar a ligação entre as classes, permitindo que a classe A não dependa de outras classes. Esse padrão é considerado o princípio central e útil em projetos orientados a objetos que utilizam GRASP.
	
	O controlador (controller) permite solucionar problemas no controle de criação de instâncias de classes. Nesse sentido, se a classe X contiver dados iniciais da classe Y ou se X usar de maneira muito próxima Y, caberá a X criar instâncias de Y, em que o controller representaria o padrão mais indicado para solucionar esse problema.
	Respondido em 04/10/2021 14:05:17
	
	Explicação:
Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller.
Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos.
Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF.
Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento.
Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF.
Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui.
O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade,
quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma determinada ação.
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	Considere a figura abaixo
E escolha a opção correta sobre a gravura:
		
	
	A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo de coesão resultante (temporal, funcional...)
	 
	A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a reutilização das classes de negocio.
	
	A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação.
	
	uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de uma classe de controle por sistema
	
	A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto.
	Respondido em 04/10/2021 14:06:44
	
	Explicação:
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, Indireção e Variações Protegidas.
Essa afirmativa é a correta porque em uma Coesão Alta as classes com estes tipos de coesão são mais fáceis de implementar, testar e manter. No entanto, outros tipos de coesão podem aparecer, tais como, seqüencial, procedural, temporal e utilidade, as quais, segundo Pressman (2006), são menos desejáveis e devem ser evitados quando existirem alternativas de projeto.
Ainda segundo Larman (2007), uma classe com coesão baixa faz muitas atividades que não estão relacionadas e trabalha em demasia, acarretando os seguintes problemas: dificuldade de compreensão e manutenção, dificuldade de reutilização, além de apresentar bastante sensibilidade a modificações.
Um controlador é 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. De forma mais simples, este é um padrão de projeto de delegação, pois, normalmente um controlador deve delegar a outros objetos o serviço que precisa ser feito; ele coordena ou controla a atividade.
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	Para o seguinte problema:
Como projetar objetos, subsistemas e sistemas para que as variações ou instabilidades nesses elementos não tenham um impacto indesejável nos outros elementos?
Qual solução devemos aplicar? Assinale a resposta INCORRETA.
		
	
	Atribuir responsabilidades para criar uma interface estável em volta desses pontos;
	
	Identificar pontos de variação ou instabilidade potenciais;
	
	Evitar enviar mensagens a objetos muito distantes.
	 
	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;
	
	Utilizar os princípios de encapsulamento, interfaces, polimorfismo, indireção e padrões, além de máquinas virtuais e brokers;
	Respondido em 04/10/2021 14:04:15
	
	Explicação:
Essa resposta está INCORRETA porque ela deve ser usada para uma solução do padrão Indireção.

Continue navegando