Buscar

Padrões de Projeto de Software Avaliação Parcial Completa

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

Qual padrão é de arquitetura?
R: MVC
Especificar os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copier este protótipo. Para qual padrão de projeto a afirmação se relaciona?
R: NRA
Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação.
R: BUILDER.
(CESGRANRIO - 2006 - Petrobrás ) Christopher Alexander afirma: "cada padrão descreve um problema no nosso ambiente e o cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca faze-lo da mesma maneira". Muito embora Alexander estivesse falando a cerca de padrões em construções e cidades, o que ele diz é verdadeiro em relação aos padrões de projeto orientados a objeto. Neste caso, as soluções são expressas em termos de objetos e interfaces em vez de paredes e portas, mas no cerne de ambos os tipos de padrões está a solução para um problema num determinado contexto. Quanto à indicação para o uso dos padrões de projeto é FALSO afirmar que o padrão:
R: Builder é indicado quando: uma classe não pode antecipar a classe de objetos que deve criar; uma classe quer que suas subclasses especifiquem os objetos que criam; classes delegam responsabilidade para uma dentre várias subclasses auxiliares, e você quer localizar o conhecimento de qual subclasse auxiliar que é a delegada.
Observe a figura abaixo e escolha dentre as opções o padrão GOF para resolver o problema com a estrutura apresentada.
R: Composite
Imagine que você está desenvolvendo um sistema para um bar especializado em coquetéis, onde existem vários tipos de coquetéis que devem ser cadastrados para controlar a venda. Os coquetéis são feitos da combinação de uma bebida base e vários outros adicionais que compõe a bebida. Por exemplo:
Conjunto de bebidas:
Cachaça
Rum
Vodka
Tequila
Conjunto de adicionais:
Limão
Refrigerante
Suco
Leite condensado
Gelo
Açúcar
Então, como possíveis coquetéis temos:
Vodka + Suco + Gelo + Açúcar
Tequila + Limão + Sal
Cachaça + Leite Condensado + Açúcar + Gelo
Qual padrão você usaria para representar a estrutura acima?
R: Decorator
O padrão _________________ controla o acesso ao objeto original. Fornece um substituto ou marcador da localização de outro objeto para controlar o seu acesso. Qual padrão abaixo corresponde ao descrito acima?
R: Proxy
Considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:
R: adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy
Marque a única alternativa correta sobre um cenário de aplicação do padrão de projeto Template Method
R: Implementamos partes invariantes de um algoritmo em uma classe abstrata e deixamos que o restante do código seja implementado nas subclasses
Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO
R: Identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.
O Padrão de Projeto que define uma Interface para criar um objeto e também é conhecido como "Construtor Virtual" chama-se:
R: Factory Method
Observando o diagrama de classes abaixo, verificamos a aplicação de um padrão de criação GOF.
Qual padrão foi utilizado para organizar as classes?
R: Abstract Factory
Qual o objetivo do padrão Builder? Assinale a opção INCORRETA.
R: Declara um método chamado clone na superclasse abstrata do modelo
Qual dos padrões GOF abaixo é mais indicado quando necessitamos criar objetos de uma determinada classe, os quais só têm alguns poucos estados possíveis e é melhor copiá-los e aproveitar o seu estado atual do que criar um novo objeto no estado inicial.
R: Prototype
Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma das opções é utilizar herança, entretanto, esta alternativa é estática. Outra alternativa é especificar uma nova classe para implementar cada responsabilidade que se deseja atribuir dinamicamente a um dado objeto. Esta nova classe se chama _____________________________.
R: Decorator;
(CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a.
R: O Adapter é inferior ao Bridge porque não evita a replicação de código.
O objetivo do padrão Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000). São várias as recomendações para seu uso. Analise as alternativas abaixo e marque a alternativa que NÃO se refere a uma recomendação para uso do padrão Flyweight.
R: O cliente não precisar conhecer as regras do negócio.
O padrão Flyweight é um Padrão Estrutural GoF. Qual o melhor momento em que podemos usar esse padrão?
I- Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em que eles são usados na aplicação.
II- Quando objetos podem ser usados em diferentes contextos ao mesmo tempo (agindo sempre como um objeto independente).
III- Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos mutáveis de imutáveis.
Está(ão) correta(s) a(s) afirmativa(s):
R: Somente os itens I e II;
Qual é o padrão GoF comportamental correspondente ao código abaixo?
Approver larry = new Director();
Approver sam = new VicePresident();
Approver tammy = new President();
larry.SetSuccessor(sam);
sam.SetSuccessor(tammy);
// Generate and process purchase requests
Purchase p = new Purchase(2034, 350.00, "Assets");
larry.ProcessRequest(p);
p = new Purchase(2035, 32590.10, "Project X");
larry.ProcessRequest(p);
p = new Purchase(2036, 122100.00, "Project Y");
larry.ProcessRequest(p);
.......
R: Chain of Responsability
Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo?
R: Template Method
Sobre padrões de projeto selecione a opção correta sobre as afirmativas abaixo: I - Cada vez que uma boa solução for encontrada para um dado problema, a mesma deve ser lapidada, refinada e documentada para uso futuro. II - Padrões de projeto auxiliam projetistas e desenvolvedores a reutilizar soluções passadas, relacionadas com problemas são recorrentes em desenvolvimento de software. III ¿ Padrões de projeto são voltados para a resolução de problemas específicos, tornando os projetos orientados a objetos mais flexíveis, robustos e confiáveis. Iv ¿ Padrões de projeto não permitem a inovação tendo em vista que ¿engessam¿ a criatividade do desenvolvedor.
R: As afirmativas I, II, III estão corretas e a afirmativa IV está errada.
Analise as afirmações:
I. Para não perder tempo e dinheiro elaborando soluções diferentes para o mesmo problema, poderíamos escolher uma solução como padrão e adotá-la toda vez que o problema correspondente ocorrer. Além de evitar o retrabalho, facilitaríamos a comunicação dos desenvolvedores e o entendimento técnico do sistema. Daí surge o conceito de padrão de projeto ou design pattern. (www.k19.com.br - apostila K19-K51).
II. Um padrão de projeto é uma solução consolidada para um problema recorrente no desenvolvimento e manutenção de software orientado a objetos.
III. Um padrão de projeto é descrito basicamente com um sumário e uma solução.
Assinale a alternativa correta:
R: Todas as afirmativas estão corretas;
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Estádirecionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - 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. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;
R: As afirmativas estão todas corretas
O padrão de projeto Singleton é usado para restringir:
R: A instanciação de uma classe para apenas um objeto
Dado o diagrama de classe identifique o padrão GoF estrutual
R: Adapter
O padrão Bridger é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que (assinale a opção INCORRAETA).
R: No padrão Bridge a solução natural quando se pretende desenvolver uma determinada solução para duas plataformas diferentes é utilizar herança, implementando uma classe derivada para cada situação;
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.  Marque a alternativa que NÃO indica uma vantagem do padrão Façade (Fachada)
R: Fazer com que o cliente conheça todas as regras de negócio para que possa realizar as mudanças.
Estruturar um sistema em subsistemas ajuda a reduzir a complexidade do problema (Gamma et al., 2000). No entanto, um objetivo comum de todos os projetos é minimizar a comunicação e as dependências entre os diferentes subsistemas. Uma das maneiras de contornar esse problema é utilizar o padrão de projeto que qual forneça uma interface única e simplificada para os recursos e facilidades mais gerais de um subsistema. Este padrão de projeto é conhecido como:
R: Façade;
São exemplos de Padrões de Projeto Comportamentais:
R: Interpreter, Chain of Responsibility e Observer
O padrão Classe Handler é um Padrão Comportamental GoF. Quais os benefícios do padrão de projeto Chain of Responsability com a Classe Hanter?
I- O acoplamento é reduzido, pois, o padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação;
II- 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;
III- Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos;
IV- A receptação não é garantida, isto é, no momento que a requisição não tem um receptor explícito, não há garantias que ela será tratada;
Est(á)ão correta(s) a(s) afirmativa(s):
R: Somente os itens I, II e III;

Continue navegando