Baixe o app para aproveitar ainda mais
Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE 1a Questão Converter a interface de uma classe em outra interface esperada pelos clientes. Permite a comunicação entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. Para qual padrão de projeto a afirmação se relaciona? Proxy Observer Nra Memento Singleton 2a Questão Qual padrão de projeto tem como propósito prover interface unificada para conjunto de interfaces em um subsistema, definindo uma interface de alto-nível. Strategy Facade Factory Method Singleton Decorator Explicação: O Padrão Façade é do tipo estrutural . É usado quando um sistema é muito complexo ou difícil de entender, já que possui um grande número de classes independentes ou se trechos de código fonte estão indisponíveis. Este padrão esconde as complexidades de um sistema maior e provê uma interface simplificada ao cliente. Tipicamente envolve uma única classe responsável por englobar uma série de membros requeridos pelo cliente. Estes membros acessam o sistema em nome do Façade e escondem os detalhes de implementação. 3a Questão 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: Façade; Proxy; Flyweight Composite; Decorator Gabarito Coment. 4a Questão O objetivo do padrão de projeto estrutural de oFlyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela; Gamma et al (2000) recomendam sua utilização somente quando todas as condições forem verdadeiras. Assinale dentre as opções abaixo a unica condição que não é verdadeira Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. Uma aplicação utiliza um pequeno número de objetos. A aplicação não depende da identidade do objeto. Uma aplicação utiliza um grande número de objetos. Os custos de armazenamento são altos por causa da grande quantidade de objetos. Gabarito Coment. 5a Questão Quanto às vantagens, assinale a opção INCORRETA sobre o padrão Façade. O cliente não precisa conhecer todas as regras de negócio envolvidas com a concessão de um empréstimo; Havendo mudança em alguma regra de negócio, basta realizar as alterações necessárias na classe Façade; Sempre que for desejável, cria uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação; Quando o tamanho do conjunto de objetos for significativamente menor que a quantidade de vezes em que eles são usados na aplicação; Permite que objetos individuais cuidem de uma única tarefa, deixando que a fachada se encarregue de divulgar as suas operações; Explicação: Essa afirmativa está incorreta, porque ela se refere ao padrão Flyweight. 6a Questão Os padrões de projetos, quando aplicados ao desenvolvimento de aplicações, fornecem meios de descrever soluções comuns para problemas comuns, resultando em redução de tempo gasto com o desenvolvimento e melhoria da qualidade da aplicação. (FCC - 2009) Analise: I. É o responsável pela especificação dos tipos de objetos a serem criados usando uma "instância" prototípica e pela criação de novos objetos copiando este protótipo. II. Define uma interface de nível mais alto que torna o subsistema mais fácil de usar e fornece uma interface única para um subsistema com diversas interfaces; compõe o grupo de padrões estruturais. III. Integrante do grupo de padrões comportamentais, ele provê uma forma de acessar sequencialmente os elementos de um agregado de objetos, sem expor a representação interna desse agregado. IV. As consequências do uso deste padrão é que o encapsulamento é mantido, já que objetos usam sua própria informação para cumprir responsabilidades; leva ao fraco acoplamento entre objetos e à alta coesão, uma vez que objetos fazem tudo que é relacionado à sua própria informação. As afirmações correspondem, respectivamente, aos padrões Adapter, Façade, Command e Iterator. Command, Singleton, Controller e Façade. Prototype, Façade, Iterator e Expert. Controller, Expert, Singleton e Prototype. Command, Iterator, Singleton e Expert. 7a Questão Qual o objetivo do padrão Proxyr? Assinale a opção CORRETA. Proxy expurga o código e delega a uma classe, a terceiros; Proxy faz uma fachada única para todas as fachadas; Proxy oferece uma interface única para um conjunto de interfaces de um subsistema; Proxy prove um substituto ou ponto através do qual um objeto possa controlar o acesso a outro; Proxy define uma interface de nível mais elevado que torna o subsistema mais fácil de usar; Explicação: Essa afirmativa está correta, porque as outras se referem ao padrão Façade. 8a Questão considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais: adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy Explicação: Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais. Os padrões estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 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. Seu objetivo é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua.
Compartilhar