Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão (COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio. Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer? Dynamic behavior. Mediator. Singleton. Composite. State. 2a Questão Qual é o padrão responsável para separar os dados lógicos e as regras de negócio da interface do usuário e o fluxo da aplicação? MVC Chain of Responsibility Bridge Indirection Controller 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. 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. 3a Questão Qual padrão permite a um objeto alterar seu comportamento quando o seu estado interno muda parecendo que ele alterou sua classe? Observer. Nenhuma das anteriores. Mediator. State. Builder. Explicação: Há 11 Padrões Comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. State - Permiti a um objeto alterar o seu comportamento quanto o seu estado interno mudar. O objeto irá aparentar mudar de classe. 4a Questão considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. 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á 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. Esta definição se refere ao Padrão Visitor. Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator. O principal objetivo do padrão Visitor é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua. 5a Questão Observando a figura abaixo, determine o padrão GOF caracterizado pela mesma: Padrão State Padrão Template Method Padrão Strategy Padrão Façade Padrão Singleton Explicação: Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. 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. 6a Questão Marque a alternativa que está relacionada com o padrão de projeto que pode ser utilizado para configurar uma classe com um dentre muitos comportamentos disponíveis. State Observer Memento Visitor Strategy 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 Comportamentais GoF contemplam 11 (onze) tipos de padrões: Escopo por Classe: Interpreter, Template Method; Escopo por Objeto: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, e Visitor. O padrão Strategy define uma família de algoritmos , encapsula cada um deles, e torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam. 7a Questão O padrão Visitor é um Padrão Comportamental GoF. O objetivo desse padrão é: I- Representar uma operação a ser realizada nos elementos de uma estrutura de objetos; II- Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente; III- permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua; Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e II; Somente o item I; Somente os itens I e III; Somente o item II; Somente o item III; Explicação: O objetivo do padrão Visitor, de acordo com Gamma et. al, 2000, é representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua. O item II está incorreto, porque esse é o objetivo do padrão Observer. 8a Questão O principal objetivo do Padrão Visitor é: Criar um acoplamento forte entre os objetos, tendo em vista que um objeto deve ser capaz de avisar outros fazendo suposições sobre quem são os objetos. Permitir que sejam adicionadas novas funcionalidades a classes previamenteconcebidas, sem que haja necessidade de alterar sua implementação. Criar uma maneira de separar um algoritmo genérico da estrutura de um objeto. Fornecer um guia de como instanciar objetos e classes. Quando uma abstração tem dois aspectos, um independente do outro, de impedir o encapsulamento de tais aspectos em objetos separados. 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á 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. O padrão Visitor representa uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua.
Compartilhar