Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE 6a aula Lupa Exercício: CCT0763_EX_A6_V2 2020 Aluno(a): EAD Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 1 Questão Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um objeto agregado sem expor a sua representação subjacente? Chain of Responsability. Mediator. Nenhuma das anteriores. Iterator. Visitor. Respondido em 27/09/2020 15:05:26 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 Iterator por definição "Prove uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna.". 2 Questão O padrão Memento tem como objetivo criar um meio de armazenar informações e um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, com Criar uma classe que permita salvar o estado pretendidoo para recuperar, sempre que for necessário. No entanto, muitas vezes o estado interno de um objeto é inacessível a objetos externos. Assinale javascript:diminui(); javascript:aumenta(); dentre as opções abaixo aquela que se constitui em uma das maneiras de guardar este tipo de informação, Criar uma classe que permita salvar o estado pretendido Criar uma classe privada para o padrão Proxy dentro da classe que que se pretende salvar o estado; Criar uma classe pública dentro da classe que se pretende salvar o estado; Criar um clone do objeto, com as informações do estado a ser armazenado; Definir um padrão auxiliar que permita o acesso a estas classes; Respondido em 27/09/2020 15:27:48 3 Questão Memento:Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos Respondido em 27/09/2020 15:25:11 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 Memento. Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator. O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. 4 Questão O padrão Memento é um Padrão Comportamental GoF. Como se dá a implementação desse padrão? I- Cria-se uma classe privada chamada Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado; II- Define um objeto que encapsula a forma como um conjunto de objetos interage. Memento promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que você varie suas interações independentemente; III- A classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo um construtor público para este fim; Est(á)ão correta(s) a(s) afirmativa(s): Somente os itens I e III; Somente o item I; Somente o item II; Somente o item III; Somente os itens I e II; Respondido em 27/09/2020 15:21:14 Explicação: O objetivo do padrão Memento é captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento O item II está incorreto, porque isso ocorre para o padrão Mediator. 5 Questão O padrão Mediator é um Padrão Comportamental GoF. Como permitir que um grupo de objetos se comuniquem entre si sem que haja acoplamento entre eles? I- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1, que quer chamar o colaborador 2. tenho que ter uma referência no colaborador 1para poder chamar o colaborador 2; II- Por exemplo, fazer chamadas. Eu quero chamar o colaborador 1. Qualquer mudança no 2 impactaria no 1. da mesma forma, teria que ter um acoplamento entre as classes 2 e 3 para poder fazer essa referência. E isso é um grau de acoplamento que eu NÃO desejo; III- Onde eu tenho um objeto que combina com vários e vários que se combinam com vários. Ou seja, a retirada de um objeto desse causaria, devido ao seu forte acoplamento, uma redefinição, uma refatoração, dos códigos aqui presentes; Est(á)ão correta(s) a(s) afirmativa(s): Somente o item II; Somente os itens II e III; Somente o item I; Somente os itens I e II; Somente o item III; Respondido em 27/09/2020 15:36:22 Explicação: O item III está incorreto, porque ocorre quando eu quero remover o forte acoplamento presente em relacionamentos muitos para muitos. 6 Questão Qual padrão captura e externaliza um estado interno de um objeto para que o objeto possa ser restaurado para este estado mais tarde sem violar o encapsulamento? Observer. State. Visitor. Memento. Nenhuma das anteriores. Respondido em 27/09/2020 15:13: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 Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. 7 Questão (FCC - 2010) Em relação aos padrões de projetos orientados a objetos, separar dados ou lógica de negócios da interface do usuário e do fluxo da aplicação para permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces, sem saber de quantas nem quais interfaces com o usuário estão exibindo seu estado, é característica do padrão de projeto arquitetural Layers. Model-View-Controller. Creator. Observer. Expert. Respondido em 27/09/2020 15:09:35 Explicação: A famíliade 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á cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. 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. 8 Questão (FGV - 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades. Assinale a alternativa que apresenta apenas padrões de projeto comportamentais. Proxy, Builder e Mediator. Mediator, Interpreter e Command. Composite, Decorato e Proxy. Singleton, Composite e Interpreter. Prototype, Abstract Factory e Builder. Respondido em 27/09/2020 15:12:29 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á cinco padrões de criação GoF: Abstract Factory, Builder, Factory Method, Prototype e Singleton. Há 7 (sete) tipos de padrões estruturais GoF: Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. javascript:abre_colabore('38403','206550233','4125584090');