Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. Podemos afirmar que padrões de projeto de software: permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros. dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, aumentando as alternativas que a comprometam. difcultam a reutilização de projetos e arquiteturas bem sucedidas. não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos. invariavelmente pioram a documentação e a manutenção dos sistemas. Explicação: Padrões de projeto é uma maneira testada ou documentada de alcançar um objetivo qualquer. São padrões para alcançar objetivos na engenharia de software usando classes e métodos em linguagens orientadas a objeto. Além disso, capturam soluções de projeto exaustivamente refinadas com o passar do tempo. 2. Qual o objetivo dos Padrões Estruturais? Assinale a opção CORRETA. Envolve decisões dinâmicas para escolher qual classe instanciar. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Fornecem um guia de como instanciar objetos. Mostram como estruturar e encapsular essas decisões. Definem a quais objetos delegar responsabilidade. Explicação: Essa afirmativa está CORRETA porque as outras se referem a Padrões de Criação. 3. (FUMARC - 2011) São padrões de projeto GoF (design patterns), EXCETO: Criador. Strategy. Adapter. Facade. Visitor. 4. Uma programadora precisa mudar a implementação chamada de uma função em tempo de execução dependendo da entrada de dados. Um dos requisitos importantes é ocultar do usuário desta função a exposição das estruturas de dados complexas, específicas do algoritmo. Entre os conhecidos padrões de Projeto de Software Gang of Four (GoF,1994), qual é o indicado? Builder. Façade. Factory Method. Strategy. Template Method. Explicação: a) Builder Separar a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes representações. b) Strategy Definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie independentemente dos clientes que o utilizam c) Façade Fornecer uma interface unificada para um conjunto de interfaces em um subsistema. Facade define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado. d) Template Method Definir o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Template Method permite que subclasses redefinam certos passo de um algoritmo sem mudar a estrutura do mesmo. Recomendo esta fonte para estudos de Padrões de Projeto: https://brizeno.wordpress.com/padroes/ 5. O projeto Orientado a objetos pressupõe a criação de modelos de domínio a partir dos requisitos identificados para entendimento do negócio e apresentação de uma solução. A esses modelos são acrescidas os aspectos físicos, como os métodos e a troca de mensagens entre eles. A questão é decidir a melhor forma de interação entre os métodos, ou seja, a atribuição da responsabilidade estabelecida para que se possa gerar um melhor resultado. Visando facilitar a construção de soluções são apresentados os padrões de projeto. Assinale dentre as alternativas a seguir a que NÃO define uma característica atribuída ao uso dos padrões. O nome do padrão é utilizado para agrupar ideias em um conceito. É apresentado através de uma descrição contendo informações de identificação e registro, como: Nome, Problema, Sumário, Solução, Conseqüências e Padrões Relacionados. Fornece orientação de aplicação em circunstâncias variáveis. É uma descrição nomeada de um problema e solução que pode ser aplicado em novos contextos. São definidos por especialistas de problemas e servem para aplicação direta em qualquer contexto. Explicação: Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: A partir das diversas definições de padrões de projeto, podemos chegar as seguintes características, como por exemplo: Capturam soluções de projeto exaustivamente refinadas com o passar do tempo; São o resultado de um longo processo de projeto, re- projeto, teste e reflexão sobre o que torna um sistema mais flexível, reusável e modular. Assim, chegamos à conclusão que esta é a única alternativa que não define uma característica atribuída aos padrões. Gabarito Coment. 6. Qual o objetivo dos Padrões de Criação? Assinale a opção CORRETA. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Tratam da composição de classes e objetos para formar estruturas complexas. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. Fornecem um guia de como instanciar objetos, e envolve decisões dinâmicas para escolher qual classe instanciar. Oferecem formas efetivas para usar conceitos OO como herança e composição. Explicação: Essa afirmativa está CORRETA porque as outras se referem a Padrões Estruturais. 7. Considere as seguintes assertivas sobre as vantagens do uso de Padrões de Projeto (Design Patterns): I. Padrões de projeto proporcionam um vocabulário comum de projeto, facilitando comunicação, documentação e aprendizado dos sistemas de software. II. Padrões de projeto auxiliam no desenvolvimento de software por meio da reutilização do projeto de soluções computacionais já testadas e aprovadas. III. Uma biblioteca de padrões pode ajudar a melhorar e padronizar o desenvolvimento de software. As assertivas corretas são: Somente I e III. Somente II e III. I, II e III. Somente II. Somente I e II. 8. Sabendo que as soluções para os padrões de projeto são divididas em três tipos, de acordo com as características destes tipos informe a sequencia correta. I. Abrange a configuração e inicialização de objetos e classes. II. Lida com as interfaces e a implementação das classes e dos objetos. III. Lida com as interações dinâmicas entre grupos de classes e objetos. I - Comportamental, II - Criacional, III - Estrutural I - Criacional, II - Estrutural, III - Comportamental I - Comportamental, II - Estrutural, III - Criacional I - Estrutural, II - Comportamental, III - Estrutural I - Criacional, II - Comportamental, III - Estrutural 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 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. 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 objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mutua. 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. 1. Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas I, III, estão corretas e II errada As afirmativas estão todas corretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, II, III estão incorretas As afirmativas II, III estão corretas e a afirmativa I está errada. Explicação: Há cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O BUILDER é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 2. O padrão Singleton é um Padrão de Criação GoF. A grande vantagem deste padrão é: Assinale a única resposta CORRETA. Difícil ou impossível de implementar em ambiente distribuído; Criação "preguiçosa" é complicada em ambiente multithreaded; Difícil de testar (simulações dependem de instância extra); Qualidade da implementação depende da linguagem; Acesso central e extensível a recursos e objetos; Explicação: Esta afirmativa é CORRETA porque as outras dizem respeito a desvantagens do padrão Singletos. 3. A implementação do padrão de projeto PROTOTYPE é facilitada quando usada na linguagem de programação ________ com a utilização da interface Cloneable, utilizada apenas para indicar que o método Object.clone() pode realizar uma cópia, atributo por atributo, das instâncias da classe. Assinale a opção que complementa corretamente a lacuna. HTML; C ++; JAVA; ASSENBLY; Qualquer linguagem orientada a objeto. Gabarito Coment. 4. O padrão GoF Criacional que define um comportamento de clonagem de classes é: Facade Prototype Singleton Abstract Factory Factory Method Explicação: Há cinco Padrões de Criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. O PROTOTYPE é um Padrão de Criação. É um padrão cuja responsabilidade é a CONSTRUÇÃO Ele especifica os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copiar este protótipo. 5. Qual é o padrão GoF criacional correspondente ao código abaixo? public static void main(String[] args) { ObraPadrao obraPadrao = new ObraPadrao(); ObraPadrao obraNova = obraPadrao.clonar(); obraNova.setValor(200000.0); ..... ..... Factory Method Prototype Adapter Singleton Builder Explicação: O padrão Prototype especifica tipos a criar usando uma instância como protótipo e criar novos objetos ao copiar este protótipo. O padrão de projeto Prototype declara um método chamado clone na superclasse abstrata do modelo (Prototype) 6. Assinale a afirmativa correta sobre o padrão Builder: Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir a lógica de criação em vários métodos adicionais. A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo tanto da especificação, quanto das partes que o compõem. Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a lógica de criação em uma hierarquia de herança. é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, tornando o código dependente a complexidade das classes relacionadas Explicação: O padrão Builder é um padrão de cuja intenção é a Construção, ou seja, são padrões cuja responsabilidade é a CONSTRUÇÃO O padrão Builder tenta minimizar a carga que os desenvolvedores tem ao ato de criar objetos dentro de um construtor. Isso é comum em desenvolvedores iniciantes. 7. (CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade corresponde a criar uma cópia de um pedido a partir de pedido preexistente. Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo GoF (Gang of Four), dentre os listados abaixo? Command. Factory Method. Builder. Abstract Factory. Prototype. 8. O padrão Singleton é um Padrão de Criação GoF. Com relação aos seus objetivos podemos afirmar que: I- O padrão de projeto Singleton declara um método chamado clone na superclasse abstrata do modelo. II- O padrão Singleton está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. III- O padrão Singleton é bastante útil para guardar o estado de um objeto em determinados momentos. Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e II; Somente os itens II e III; Somente o item I; Somente os itens I e III; Somente o item II; Explicação: Os itens I e III estão errados porque eles se referem ao padrão Prototype. 1. Qual padrão desacopla uma abstração de sua implementação de modo que as duas possam variar independentemente? Nenhuma das anteriores.Bridge. Proxy. Façade. Decorator. 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 Bridge, desacopla uma abstração de sua implementação, de tal forma que os dois possam variar independentemente. 2. [BNDES - CESGRANRIO 2009]A o consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a. Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto. O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações. O Adapter é inferior ao Bridge porque não evita a replicação de código. Ambos são padrões estruturais que possuem alguns atributos em comum. O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes. 3. 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? Decorator State Observer Façade Strategy Explicação: O padrão Decorator é um padrão de cuja intenção são as Extenções. O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter dinâmico) dinamicamente. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade (para a extensão de funcionalidade). 4. Qual padrão estrutural permite que um objeto utilize serviços de outros objetos com interfaces diferentes por meio de uma interface única: Adapter Flyweight Composite Bridge Facade 5. Qual o nome do padrão de projeto que pode ser utilizado para permitir que uma hierarquia de abstrações e suas diferentes implementações possam variar independentemente? Adapter Proxy Flyweight Bridge Façade 6. O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente, considere as afirmativas: I - A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adaptee) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Ii - Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas estão todas corretas As afirmativas I, III, estão corretas e II errada Explicação: O conceito do Adapter é converter a interface de uma classe em outra interface esperada pelos clientes. Adapter permite a comunicação entre classes que não poderiam trabalhar juntas devido à incompatibilidade de suas interfaces. A ideia é fazer adaptação entre dois recursos. Devemos usar sempre que for necessário adaptar uma interface para um cliente Vejamos o exemplo da tomada. O plug é três pinos, e a tomada é de dois pinos, então eu tenho que ter uma classe adaptadora. 7. O padrão Bridger é um Padrão Estrutural GoF. Com relação aos seus objetivos podemos afirmar que (assinale a opção INCORRAETA). 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; O padrão Bridge desacopla uma abstração de sua implementação para que os dois possam variar independentemente; O padrão Bridge é usado quando for necessário evitar uma ligação permanente entre a interface e implementação; O padrão Bridge converte a interface de uma classe em outra interface esperada pelos clientes; O padrão Bridge permiti que o sistema consiga se adaptar dinamicamente a diferentes plataformas é mais desejável ainda; Explicação: Essa afirmativa está INCORRETA, porque ela se refere ao padrão Adapter. 8. Qual o padrão Gof utilizado na figura abaixo? Observer Adapter Singleton Façade Composite Explicação: Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. O padrão Adpater é bastante utilizado para compatibilizar classes implementadas por programadores diferentes, ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma estrutura hierárquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da classe já existente. A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja para fazer a conexão com a classe já existente (Adapter) com interface diferente da estrutura de classes que se pretende utilizar no sistema. Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu projeto original. 1. Em muitas situações de programação, é possível resolver o problema de acesso a um determinado objeto com a utilização de uma referência a variável desejada, este é um mecanismo de simples utilização e bastante conhecido pelos desenvolvedores de software. No entanto, quando é necessário utilizar um mecanismo mais versátil e sofisticado, por exemplo, - para postergar a instanciação de um objeto - para controlar o acesso ao mesmo - para acessá-lo em uma máquina remota - para gravá-lo em uma base de dados, a alternativa de utilizar uma referência ao objeto não é mais apropriada. - utilização de uma superclasse abstrata para definir a interface da classe desejada e uma classe derivada adicional derivada. Marque a alternativaque indica o padrão de projeto utilizado segundo a descrição acima. Coesão Façade Proxy Acoplamento Flyweight Gabarito Coment. 2. (FCC - 2011) No contexto dos padrões de projeto: I. Oferecer uma interface simples para uma coleção de classes. II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente. Correspondem respectivamente a Adapter e Façade. Façade e Bridge. Bridge e Adapter. Composite e Bridge. Façade e Composite. Gabarito Coment. 3. 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 o item II; Somente os itens I e III; Somente os itens I e II; Somente o item I; Somente os itens II e III; 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. 4. Qual a vantagem do padrão Proxyr? Assinale a opção INCORRETA. Permite, sempre que for desejável, criar uma interface para um conjunto de objetos com o objetivo de facilitar o uso da aplicação; Permite maior eficiência com caching no cliente; Tem transparência, ou seja, mesma sintaxe usada na comunicação entre o cliente e sujeito real é usada no proxy; Consigo atribuir um certo grau de inteligência, o que possibilitaria um tratamento inteligente dos dados; Permite o tratamento inteligente dos dados no cliente; Explicação: Essa afirmativa está incorreta, porque ela se refere ao padrão Façade. 5. Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro: Proxy Flyweight Facade Adapter Decorator 6. Qual o padrão fornece um substituto ou marcador para controlar o acesso a um objeto? Bridge. Façade. Nenhuma das anteriores. Adapter. Proxy. 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 Proxy (procurador) controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório. 7. 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 Uma aplicação utiliza um pequeno número de objetos. A aplicação não depende da identidade do objeto. Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. Os custos de armazenamento são altos por causa da grande quantidade de objetos. Uma aplicação utiliza um grande número de objetos. Gabarito Coment. 8. Uma empresa tem, dentre outros, um sistema de vendas e outro de controle de estoque. Supondo que o sistema de vendas necessita utilizar funcionalidades do sistema de controle de estoque, qual padrão deve ser utilizado para que estas funcionalidades sejam disponibilizadas? Fábrica Abstrata Singleton Decorator Fachada Observer 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. O padrão Façade (fachada) é um padrão Fachada, ou seja, faz uma fachada única para todas as fachadas, ou seja, Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema.define uma interface a um nível mais elevado, para tornar um subsistema mais fácil de usar. Oferece uma interface única para um conjunto de interfaces de um subsistema. Façade define uma interface de nível mais elevado que torna o subsistema mais fácil de usar. 1. Baseando-se nas necessidades apresentadas do lado direito do quadro abaixo, relacione-as ao padrão adequado a utilização e, em seguida marque a alternativa que corresponde a sequencia numerada correspondente. 4 - 1 - 2 - 3 4 - 3 - 1 - 2 3 - 4 - 1 - 2 2 - 3 - 4 - 1 4 - 2 - 1 - 3 Explicação: Há três grupos de padrões GoF: 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. 2. O padrão Classe Handler é um Padrão Comportamental GoF. Qual afirmativa abaixo NÃO corresponde a esse padrão? Representa um encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes; Fornece 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; Encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate; Evita 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; A classe Handler é uma classe abstrata, portanto, não pode ser instanciada diretamente; Explicação: Essa afirmativa NÃO corresponde a Classe Handler está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão Chain of Responsability. 3. O padrão Chain of Responsability é um Padrão Comportamental GoF. Qual o seu objetivo? Assinale a afirmativa INCORRETA Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate; 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; Representar um encadeamento de objetos receptores para o processamento de uma série de solicitaçõesdiferentes; 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; 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; Explicação: Essa afirmativa está relacionada ao padrão Chain of Responsability, porque ela se refere a padrão Classe Hanter. 4. No padrão MVC é possível definir grupos de componentes principais: o Model (Modelo), o View (Apresentação) e o Controller (Controle). Deve fazer parte do componente: Model, as classes com métodos conhecidos como setters e getters e que representam tabelas do banco de dados. View, as validações necessárias ao sistema, geralmente definidas através de um conjunto de comparações. View, uma classe que contém um método para persistir o salário reajustado de um funcionário. Controller, as animações desenvolvidas em Flash. Controller, uma classe que contém um método com a finalidade de calcular o reajuste de salário dos funcionários. Explicação: 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. 5. São exemplos de Padrões de Projeto Comportamentais: Command, Composite e Memento Mediator, Strategy e Builder State, Flyweight e Decorator Interpreter, Chain of Responsibility e Observer Singleton, Mediator e Strategy 6. (CESGRANRIO - 2008) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se Strategy. Template Method. Decorator. Abstract Factory. Singleton. Gabarito Coment. 7. Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata. Flyweight Interpreter; Proxy; Template Method Chain of Responsability, Gabarito Coment. 8. A implementação do padrão de projeto Chain of Responsability requer que cada objeto receptor de uma determinada solicitação tenha uma lógica para descrever os tipos de solicitação que é capaz de processar e como passar adiante aquelas que requeiram processamento por outros receptores. A delegação das solicitações pode formar uma árvore de recursão, com um mecanismo especial para inserção de novos receptores no final da cadeia existente. Marque a alternativa que NÃO identifica uma vantagem do padrão de projeto Chain of Responsability. 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; As partes invariantes, conforme a situação, contexto ou problema a ser resolvido, podem ser redefinidas em classes abstratas gerando interconexão entre os objetos. Remetente e receptor não têm conhecimento explícito um do outro. Padrão libera um objeto de ter que conhecer qual o outro objeto que trata de uma solicitação. Flexibilidade na atribuição de responsabilidades, ou seja, pode-se mudar a cadeia de objetos em tempo de execução, adicionando ou removendo objetos. Gabarito Coment.
Compartilhar